Ist div innerhalb der Liste erlaubt? [duplicate]

Lesezeit: 5 Minuten

Ist div innerhalb der Liste erlaubt duplicate
Kenan

ich weiß das DIV Innerhalb LI ist nicht erlaubt, aber ich habe es in letzter Zeit auf vielen “großen” Websites wie gesehen Smashing Magazin, Webdesigner-Wand… etc.

Ich habe versucht, Websites zu validieren, und sie haben Fehler, aber nichts darüber DIV in LI?!

Also kann ich es drinnen benutzen LIund ich brauche es, um gültig zu sein?

  • Wer sagt <div> ist kein gültiges untergeordnetes Element von <li>?

    – Jørn Schou-Rode

    16. Dezember 2009 um 14:46 Uhr

  • Haben Sie einen konkreten Fall, zu dem Sie fragen, oder ist dies eine allgemeine Frage? Typischerweise werden DIVs nicht innerhalb eines LI verwendet. Semantisch hat ein DIV keine Bedeutung – es ist einfach ein Container zur Verwendung mit Präsentationsbelangen. Es würde also die Semantik des Dokuments nicht wirklich beeinflussen, aber es ist wahrscheinlich, dass in den meisten Fällen, in denen Sie versucht sein könnten, eines zu verwenden, ein <SPAN> Tag wäre wahrscheinlich eine bessere Wahl.

    Benutzer164226

    16. Dezember 2009 um 14:49 Uhr

  • Die Regel ist, dass a <div> ist nicht als direkter Nachkomme von erlaubt <ul> oder <ol>. Da nur Listenelemente (<li>) sind dort erlaubt.

    – Haralan Dobrew

    27. November 13 um 19:22 Uhr


  • <li> can contain any element that is valid in <body> – stackoverflow.com/q/4967976/1066234

    – Benutzerbild

    24. September 19 um 15:19 Uhr


Ja, es gilt gem xhtml1-strict.dtd. Das folgende XHTML übergibt die Validierung:

<?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>

  • Es gilt weiterhin mit <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">.

    – Darin Dimitrow

    16. Dezember 2009 um 14:49 Uhr

  • @buildakicker – wird nur in HTML5 verwendet (diese Deklaration ist möglich, da HTML5 nicht mehr SGML-basiert ist und daher keine DTD benötigt). Es wäre falsch, es in anderen Iterationen der HTML-Spezifikation zu verwenden, wo eine DTD ist erforderlich.

    – David Watson

    20. April 12 um 20:28 Uhr

  • @DavidWatson Danke für die Klarstellung, David. Ich habe dort oben keinen in seiner Frage deklarierten DocType gesehen, aber in dieser Antwort.

    – Jasonflaherty

    30. April 2012 um 20:53 Uhr

  • Wenn es streng gültig ist, gilt es in allem

    – Jasdeep Khalsa

    12. Dezember 2012 um 16:41 Uhr


  • @jasdeepkhalsa Nicht ganz. Es gibt mehrere Attribute in XHTML 1.0 Strict, die in HTML5 nicht mehr gültig sind.

    – Herr Lister

    3. Dezember 13 um 10:26 Uhr

Ist div innerhalb der Liste erlaubt duplicate
Damon

Als Nachtrag: Vor HTML 5 ist ein div innerhalb eines li gültig, ein div innerhalb eines dl, dd oder dt jedoch nicht!

  • Eigentlich ist laut HTML5-Entwurf das Inhaltsmodell der dt und dd elements ist „Flow Content“, also a div ist in beiden erlaubt. Du hast Recht damit, dass es nicht erlaubt ist dl obwohl.

    – Charvey

    15. April 12 um 3:55 Uhr

  • Dies war in HTML4 der Fall. Ich habe meine Antwort zur Verdeutlichung bearbeitet

    – Dämon

    18. April 12 um 17:54 Uhr

  • Ein Link, der diese Antwort bestätigt: developer.mozilla.org/en-US/docs/Web/HTML/Element/dl

    – Pieter de Bié

    26. Juli 19 um 6:02 Uhr

Wenn Sie sich ansehen xhtml1-strict.dtddu wirst sehen

<!ELEMENT li %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ENTITY % block
     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">

Daher div, p usw. können drinnen sein li (gemäß XHTML 1.0 Strict DTD von w3.org).

  • Das gilt auch für die HTML 4.01 DTD.

    – Lazarus

    13. September 10 um 8:08 Uhr

Wenn ich mich richtig erinnere, ein div in einem li gewöhnt an ungültig sein.

@Flower @Superstringcheese Div sollte semantisch einen Abschnitt eines Dokuments definieren, hat diese Rolle aber praktisch schon verloren. Span sollte jedoch Text enthalten.

Wie ich sehe, würden Sie dies tun wollen, wenn Sie beispielsweise die gesamte Box eines Menüpunkts anklickbar machen möchten. Früher habe ich ein ‘li’-Tag in ‘a’-Tags eingefügt, um dies zu tun, aber das scheint gültiger zu sein.

  • Wenn Sie eine “ganze Box” eines Menüeintrags anklickbar machen möchten, müssen Sie einfach sein untergeordnetes Ankerelement mit CSS auf “display:block” oder “display:inline-block” setzen. Zu diesem Zweck muss das Markup nicht gehackt werden.

    – Joel Glovier

    24. Mai 2012 um 13:44 Uhr

1642811526 580 Ist div innerhalb der Liste erlaubt duplicate
Pedro Visnardi

Ich fange im Webdesign-Universum an und habe DIVs in LIs ohne Probleme mit der Semantik verwendet. Ich denke, dass DIVs auf Listen nicht erlaubt sind, das heißt, Sie können ein DIV nicht in ein UL einfügen, aber es hat kein Problem, es in ein LI einzufügen (weil LI nur Listenelemente sind, haha). Das Problem, auf das ich gestoßen bin ist, dass sich das DIV manchmal etwas anders verhält als sonst, aber nichts, womit unser gutes CSS nicht umgehen kann, haha. Wie auch immer, entschuldige mein schlechtes Englisch und wenn meine Antwort nicht hilfreich war, haha, viel Glück!

  • Wenn Sie eine “ganze Box” eines Menüeintrags anklickbar machen möchten, müssen Sie einfach sein untergeordnetes Ankerelement mit CSS auf “display:block” oder “display:inline-block” setzen. Zu diesem Zweck muss das Markup nicht gehackt werden.

    – Joel Glovier

    24. Mai 2012 um 13:44 Uhr

.

582900cookie-checkIst div innerhalb der Liste erlaubt? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy