J'ai recherché la liste des balises disponibles dans a <li>
, mais je n'ai trouvé aucune référence.
Est-il possible qu'un élément de bloc HTML 4+ conforme aux normes y soit autorisé?
J'ai recherché la liste des balises disponibles dans a <li>
, mais je n'ai trouvé aucune référence.
Est-il possible qu'un élément de bloc HTML 4+ conforme aux normes y soit autorisé?
Réponses:
TL; DR : an <li>
peut contenir n'importe quel élément valide dans <body>
.
Dans la spécification HTML 4.01 pour les listes, vous trouverez l'extrait pertinent de la DTD:
<!ELEMENT LI - O (%flow;)* -- list item -->
Cela spécifie qu'un <li>
peut contenir du contenu de flux , qui est la collection de tous les éléments de bloc et en ligne .
La spécification HTML5 pour an<li>
est la même en ce qu'elle autorise également tout contenu de flux .
C'est un élément de niveau bloc, donc à peu près tout est permis. Le problème survient uniquement lorsque vous placez des éléments de niveau bloc dans des éléments en ligne.
pretty much
tout est permis». Il y a 171 réponses positives sur cette question de 7 ans, donc je pense que tout ira bien
Ouais, à peu près. Vous pouvez avoir des listes à l'intérieur de listes ( soit à l'intérieur de la liste intérieure doit être à l'intérieur d'un<li>
ou simplement lâches à l'intérieur de <ol>
/ <ul>
<li>
), des éléments de bloc et des éléments en ligne.
Pour moi, cela n'aurait pas beaucoup de sens de mettre un à l' <table>
intérieur <li>
, mais même cela reste valable.
Vous pouvez utiliser le service de validation de balisage du W3C pour tester vos cas afin de savoir si votre balisage est valide ou non.
Ce validateur vérifie la validité du balisage des documents Web en HTML, XHTML, SMIL, MathML, etc.