Est-ce que div inside list est autorisé? [dupliquer]
cette question a déjà une réponse ici:
je sais que DIV inside LI n'est pas autorisé, mais je l'ai vu ces derniers temps sur de nombreux" grands " sites Web comme: Smashing Magazine, Web Designer Wall... etc. J'essaie de valider les sites, et ils il y a des erreurs, mais rien sur les div's dans LI?!
alors je peux l'utiliser à L'intérieur de LI, et j'ai besoin qu'il soit valide?
7 réponses
Oui, c'est valable en fonction de xhtml1-strict.dtd
. Le XHTML suivant passe le validation :
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
<ul>
<li><div>test</div></li>
</ul>
</body>
</html>
comme addendum: avant HTML 5 alors qu'un div à l'intérieur d'un li est valide, un div à l'intérieur d'un dl, dd, ou dt ne l'est pas!
si vous regardez xhtml1-strict.dtd , vous verrez
<!ELEMENT li %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | fieldset | table">
ainsi div
, p
etc. peut être à l'intérieur de li
(selon XHTML 1.0 DTD stricte de w3.org).
Il est acceptable de placer div à l'intérieur d'un li, même si il est un élément de bloc (sinon comment aurions-nous des listes imbriquées?). Je voudrais voir votre source sur pourquoi il n'est pas permis!
si je me souviens bien, un div à l'intérieur d'un li utilisé pour être invalide.
@Flower @Superstringcheese Div devrait définir sémantiquement une section d'un document, mais il a déjà pratiquement perdu ce rôle. La portée doit toutefois contenir du texte.
je commence dans l'univers webdesign et j'ai utilisé des DIVs à L'intérieur de LIs sans problème avec la sémantique. Je pense que les DIVs ne sont pas autorisés sur les listes, cela signifie que vous ne pouvez pas mettre un DIV à l'intérieur D'un UL, mais il n'a aucun problème à l'insérer sur un LI (parce que LI sont juste des éléments de liste haha) Le problème que j'ai rencontré est que parfois le DIV se comporte un peu différent de l'habitude, mais rien que notre bon CSS ne peut pas gérer haha. De toute façon, désolé pour mon mauvais anglais et si ma réponse n'était pas utile haha bonne chance!