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?

146
demandé sur BЈовић 2009-12-16 17:43:11

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>
192
répondu Darin Dimitrov 2009-12-16 14:47:04

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!

27
répondu Damon 2016-03-07 21:38:05

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).

14
répondu Messa 2010-01-12 09:27:01

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!

4
répondu akamike 2009-12-16 14:46:39

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.

3
répondu mystrdat 2011-06-10 10:53:43

je vois que vous voudriez faire ceci si vous vouliez faire, disons, la boîte entière d'un élément de menu cliquable. J'ai utilisé pour insérer un 'li' balise 'a' balises de le faire, mais cela semble plus valide.

0
répondu 2012-02-16 02:20:56

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!

-1
répondu Pedro Visnardi 2013-11-18 17:55:24