Estive pesquisando a lista de tags disponíveis em um arquivo <li>
, mas não encontrei nenhuma referência.
É possível que algum elemento de bloco HTML 4+ compatível com os padrões seja permitido neles?
Estive pesquisando a lista de tags disponíveis em um arquivo <li>
, mas não encontrei nenhuma referência.
É possível que algum elemento de bloco HTML 4+ compatível com os padrões seja permitido neles?
Respostas:
TL; DR : um <li>
pode conter qualquer elemento válido <body>
.
Na especificação HTML 4.01 para listas, você encontrará o extrato relevante da DTD:
<!ELEMENT LI - O (%flow;)* -- list item -->
Isso especifica que um <li>
pode conter conteúdo de fluxo , que é a coleção de todos os elementos de bloco e embutidos .
A especificação HTML5 de um<li>
é a mesma, pois também permite qualquer conteúdo de fluxo .
É um elemento de nível de bloco, praticamente tudo vale. O problema só ocorre quando você coloca elementos no nível do bloco dentro dos elementos embutidos.
pretty much
vale tudo'. Há uma resposta upvoted 171 sobre esta questão 7 anos de idade, então eu acho que as pessoas vão estar ok
Sim, praticamente. Você pode ter listas dentro de listas ( dentro da lista a lista interna deve estar dentro de um<li>
ou apenas soltas dentro da <ol>
/ <ul>
<li>
), elementos de bloco e elementos embutidos.
Para mim, não faria muito sentido colocar um <table>
dentro de um <li>
, mas mesmo assim ainda é válido.
Você pode usar o Serviço de validação de marcação do W3C para testar seus casos e saber se sua marcação é válida ou não.
Este validador verifica a validade da marcação de documentos da Web em HTML, XHTML, SMIL, MathML, etc.