⚡ Curso de HTML • Web-ZoneWare

Listas no HTML: Guia Completo de ul, ol e dl | Web Academy

Lição 14 de 50

Listas no HTML: Guia Completo de ul, ol e dl | Web Academy

Agrupar itens relacionados em listas é uma das tarefas mais comuns do desenvolvimento front-end. No HTML, as listas não servem apenas para criar tópicos com marcadores redondos (bullet points) ou sequências numéricas de passos: elas representam a espinha dorsal semântica dos menus de navegação de praticamente todos os sites modernos do mundo.

1. Listas Não Ordenadas (<ul>)

Utilizamos a tag <ul> (de Unordered List) quando a ordem dos itens não altera o significado do conteúdo.

Por padrão, os navegadores exibem cada item precedido por uma bolinha preta (marcador de disco). Cada linha dentro da lista deve ser obrigatoriamente encapsulada pela tag <li> (de List Item):

HTML5 5 linhas
<ul>
  <li>HTML5 Semântico</li>
  <li>CSS3 Flexbox e Grid</li>
  <li>JavaScript Moderno (ES6+)</li>
</ul>

2. Listas Ordenadas (<ol>) e Seus Atributos

Quando a sequência lógica ou cronológica é obrigatória (como em uma receita culinária, um tutorial passo a passo ou um ranking de classificação), utilizamos a tag <ol> (de Ordered List):

HTML5 5 linhas
<ol>
  <li>Abra o editor de código (VS Code)</li>
  <li>Crie um arquivo index.html</li>
  <li>Digite a estrutura sagrada do DOCTYPE</li>
</ol>

A tag <ol> suporta atributos nativos muito poderosos:

  • start="N": Altera o número inicial da lista (ex: start="5" começará a contagem no 5).
  • reversed: Atributo booleano que inverte a contagem para contagem regressiva (ex: 3, 2, 1).
  • type="...": Modifica o sistema de numeração sem precisar de CSS:
    • type="1": Números arábicos normais (padrão: 1, 2, 3).
    • type="a" ou type="A": Letras minúsculas ou maiúsculas (a, b, c).
    • type="i" ou type="I": Algarismos romanos (i, ii, iii ou I, II, III).

3. Listas de Descrição / Definição (<dl>, <dt>, <dd>)

Muitos desenvolvedores desconhecem essa joia semântica do HTML: a Lista de Descrição (Description List). Ela é ideal para dicionários, glossários de termos, metadados técnicos ou seções de Perguntas e Respostas (FAQ):

  • <dl>: O contêiner da lista de descrição.
  • <dt>: Description Term — O termo, palavra ou pergunta que está sendo definida.
  • <dd>: Description Definition — A explicação, resposta ou valor daquele termo.
HTML5 7 linhas
<dl>
  <dt>HTML</dt>
  <dd>Linguagem de marcação que estrutura o conteúdo da web.</dd>
 
  <dt>CSS</dt>
  <dd>Linguagem de folhas de estilo que controla o design visual.</dd>
</dl>

4. Aninhamento de Listas (Listas Dentro de Listas)

Para criar subitens, árvores de pastas ou menus com dropdowns, podemos colocar uma nova lista dentro de outra lista.

⚡
A Regra Sagrada do Aninhamento: A nova lista filha <ul> ou <ol> deve ser inserida obrigatoriamente dentro de um item <li>, e nunca solta entre dois itens <li>!

Exemplo Correto:

HTML5 10 linhas
<ul>
  <li>Desenvolvimento Front-End
    <!-- A sublista fica dentro do <li> do item pai: -->
    <ul>
      <li>HTML5</li>
      <li>CSS3</li>
    </ul>
  </li>
  <li>Desenvolvimento Back-End</li>
</ul>

5. O Segredo dos Menus de Navegação

Por que todos os desenvolvedores seniores criam barras de navegação utilizando listas?

HTML5 7 linhas
<nav aria-label="Navegação Principal">
  <ul class="menu-horizontal">
    <li><a href="/">Início</a></li>
    <li><a href="/web-academy/">Cursos</a></li>
    <li><a href="/sobre/">Sobre</a></li>
  </ul>
</nav>

A resposta é acessibilidade pura: quando uma pessoa com deficiência visual chega a um menu construído com <ul> e <li>, o software leitor de tela anuncia: “Navegação: lista de 3 itens”. O usuário sabe exatamente quantos links existem antes mesmo de começar a ouvi-los!

6. Exemplo Prático Integrado

Veja a combinação harmoniosa de listas ordenadas, não ordenadas e de definição em uma página real:

HTML5 17 linhas
<article>
  <h2>Grade Curricular da Trilha Front-End</h2>
  
  <h3>Passo a Passo de Estudos (Sequencial):</h3>
  <ol type="1">
    <li>Dominar o Módulo 1: Fundamentos do HTML5</li>
    <li>Praticar o Módulo 2: Conteúdo, Tabelas e Formulários</li>
    <li>Construir projetos reais no Playground IDE</li>
  </ol>
 
  <h3>Tecnologias Recomendadas (Sem Ordem Específica):</h3>
  <ul>
    <li>Visual Studio Code</li>
    <li>Extensão Live Server</li>
    <li>Navegador Chrome ou Firefox Developer Edition</li>
  </ul>
</article>

🚀 Teste listas no Playground IDE: Experimente aninhar sublistas no editor em tempo real:

🧪 Testar no Playground IDE

7. Tabela de Referência das Tags de Listas

Tag Nome Técnico Tipo de Elemento Marcador Padrão
<ul> Unordered List Contêiner de bloco Bolinhas pretas (discos)
<ol> Ordered List Contêiner de bloco Números arábicos (1, 2, 3…)
<li> List Item Item de lista Herda do elemento pai (ul ou ol)
<dl> Description List Contêiner de bloco Sem marcadores visuais
<dt> Description Term Termo a ser definido Sem recuo
<dd> Description Definition Significado do termo Recuo horizontal automático

8. Ferramentas Web-ZoneWare para Gerar Listas

Otimize seus fluxos de trabalho com as ferramentas da suíte:

10. Exercício Prático da Lição 14

  1. Abra o Playground Web IDE.
  2. Crie uma lista não ordenada (<ul>) com 3 frutas de sua preferência.
  3. Crie uma lista ordenada (<ol>) com a receita de um café da manhã, utilizando o atributo type="A" para numerar os passos com letras maiúsculas.
  4. Crie uma lista de definição (<dl>) com dois termos técnicos (ex: “Frontend” e “Backend”) e suas respectivas descrições (<dd>).
  5. Crie um menu de navegação simples utilizando as tags <nav>, <ul>, <li> e links <a>.
Rolar para cima