2013-08-16 8 views
12

Ich weiß, dass es nicht erlaubt ist, div in li in HTML5 verschachteln, obwohl Sie können und es funktioniert. Heißt das, ich sollte es nicht benutzen? Was ist der Standard zum Verschachteln von divs in dls?HTML5 Standards Verschachtelung div in li oder dl

+4

Wo haben Sie "gelernt", dass es nicht erlaubt ist? – deceze

+1

Nun, soweit ich mich erinnere, hat die HTML-Validierung in Visual Studio 2012 den Code nicht validiert. – sodiumnitrate

Antwort

27

Zunächst einmal - Ihre Information ist falsch. div Elemente sind sehr gut innerhalb li Elemente erlaubt. Sie haben es möglicherweise mit ul/ol Elementen verwechselt, die entsprechend nur li s enthalten können.

Was in HTML5 geändert wurde, ist, dass es keine Block-Level- und Inline-Elemente mehr hat. Stattdessen gibt es eine komplexere Unterscheidung der elements into several categories.

Um zu sehen, was im Inneren eines Elements nach HTML5 erlaubt ist, finden Sie in der Elementbeschreibung des specific tag (in your case li) wo man sehen kann, dass flow content erlaubt ist (was bedeutet, dass Sie es so ziemlich alles setzen kann - natürlich auch div Elemente).

+0

Soweit ich aus dem was unter dl geschrieben ist, kann es jedoch keine divs enthalten. Betrachte ich das Richtige? – sodiumnitrate

+2

@natrium 'dl' natürlich nicht, genauso wie' ul' kann nicht. 'dt' und' dd' können. – deceze

+1

@natriumnitrate Ein 'li' kann Fließinhalt enthalten,' dl' (Beschreibungsliste) kann nur 'dt' oder' dd' Element enthalten, das selbst Fließinhalt enthalten kann (aber 'dt' kein Schnitt- oder Überschrifteninhalt). Es ist dasselbe wie "ul" und "ol", das auch nur "li" Elemente enthalten kann. – Christoph