Listas

Uma quantidade surpreendente de uma página web é realmente uma lista: menus de navegação, resultados de busca, grades de produtos, ingredientes de uma receita, as etapas para redefinir uma senha. Sempre que o conteúdo é um conjunto de itens relacionados, HTML tem um elemento que diz isso, e usar significa que o navegador, e qualquer pessoa lendo com software assistivo, sabe que os itens pertencem juntos.
Listas não ordenadas
Quando a ordem dos itens não importa, você usa uma lista não ordenada. Pense em uma lista de compras: leite, pão, ovos. Não importa qual você escreva primeiro, são um monte de coisas agrupadas.
Você constrói uma com duas tags. A tag <ul> envolve a lista inteira, e cada item fica dentro de sua própria tag <li> ("list item" ou item de lista):
<ul>
<li>Leite</li>
<li>Pão</li>
<li>Ovos</li>
</ul>O navegador mostra cada item em sua própria linha com um marcador na frente. Você não adicionou os marcadores ou as quebras de linha por conta própria, o navegador faz isso porque você disse que isso é uma lista.
<ul> para uma lista onde a ordem não importa, e envolva cada item em seu próprio <li>. O navegador adiciona os marcadores e as quebras de linha para você, então você nunca digita isso manualmente. Demorei um tempo para confiar nisso, eu continuava querendo adicionar os pontos eu mesmo. Listas ordenadas e seus atributos
Às vezes a ordem é o ponto todo. Etapas em uma receita, posições em uma corrida, instruções que você segue uma após a outra. Para isso você usa uma lista ordenada, que numera os itens para você.
Funciona exatamente como uma lista não ordenada, mas o container é <ol> em vez de <ul>:
<ol>
<li>Preaqueça o forno a 180°C</li>
<li>Misture a farinha e o açúcar</li>
<li>Despeje na forma e asse por 25 minutos</li>
</ol>Agora o navegador coloca 1, 2, 3 na frente dos itens em vez de marcadores. Se você adicionar uma nova etapa no meio depois, os números se renumeram sozinhos. Você nunca digita os números, e esse é o ponto de usar <ol>.
<ol> quando a ordem importa, como etapas em uma receita, e o navegador numera os itens para você. Adicione ou remova uma etapa e os números se corrigem sozinhos, então você nunca digita 1. ou 2. manualmente. Mesmos itens <li> de antes, apenas um container diferente. Listas de descrição
Há um terceiro tipo de lista para quando cada item é realmente um par: uma palavra e seu significado, um rótulo e seu valor. Um glossário é o exemplo mais claro, cada termo seguido pelo que significa.
Esta é uma lista de descrição, e usa três tags. <dl> envolve a coisa toda, <dt> contém cada termo, e <dd> contém a descrição que acompanha:
<dl>
<dt>HTML</dt>
<dd>A linguagem que descreve a estrutura de uma página.</dd>
<dt>CSS</dt>
<dd>A linguagem que descreve como a página se parece.</dd>
</dl>O navegador mostra cada descrição recuada sob seu termo, então o emparelhamento é claro à primeira vista. Pense em "dt" como a palavra que você está definindo e "dd" como a definição.
<dl> ao redor de tudo, <dt> para cada termo, e <dd> para a descrição que o segue. Um glossário é a imagem que você deve manter em sua cabeça, termo então definição, termo então definição. Aninhamento de listas
Listas podem ir dentro de outras listas. Um menu pode ter "Bebidas" com opções quentes e frias em baixo, e cada uma com suas próprias escolhas. Colocar uma lista dentro de outra é chamado aninhamento.
A coisa chave a acertar: a lista interna fica dentro de um <li>, não flutuando entre itens. Você coloca todo o <ul> (ou <ol>) dentro do item de lista ao qual pertence:
<ul>
<li>Bebidas
<ul>
<li>Café</li>
<li>Chá</li>
</ul>
</li>
<li>Lanches</li>
</ul>"Café" e "Chá" são parte de "Bebidas", então sua pequena lista fica dentro do item "Bebidas". O navegador recua a lista interna um pouco mais, então você pode ver que pertence ao item acima.
<li> ao qual pertence, não solto entre itens. O navegador a recua para que você possa ver que é parte do item acima. Essa regra dentro-do-<li> é a única coisa a lembrar aqui. 
