Als ich heute Morgen HTML und Haml schrieb, kam mir der Gedanke, dass die Art und Weise, wie Divs verwendet werden, lächerlich ist. Warum sind Divs nicht impliziert? Stellen Sie sich vor, wenn dies:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
war das:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
Wenn der Teil "div class" des Elements angenommen würde, wäre HTML semantischer und mit den passenden schließenden Tags unendlich besser lesbar!
Dies ist ähnlich wie bei HAML, wo wir haben:
.content Hello, World!
Welches wird:
<div class='content'>Hello, World!</div>
Es scheint mir, dass das Einzige, was passieren müsste, damit dies in Browsern funktioniert, darin besteht, dass die Browser beginnen könnten, jedes Element zu interpretieren, ohne dass eine vorhandene HTML-Elementdefinition dies impliziert <div class="<element name>">
.
Dies könnte vollständig abwärtskompatibel sein. Für CSS- und jQuery-Selektoren usw. könnte "div.hero-img" weiterhin funktionieren und die erforderliche Syntax für die Auswahl der Elemente sein.
Ich kenne die neue Webkomponentenspezifikation, aber das ist wesentlich komplizierter als hier vorgeschlagen. Können Sie sich vorstellen, wie angenehm es wäre, auf die Quelle einer Website zu schauen und HTML-Code zu sehen, der so aussieht ?!
Warum müssen wir also divs verwenden?
Wenn Sie sich Mozillas HTML5-Elementliste ansehen , hat jedes Element eine semantische Bedeutung, und dann gehen wir zu <div>
und es heißt:
Msgstr "Stellt einen generischen Container ohne besondere Bedeutung dar."
..und dann listen sie die willkürlichen Elemente auf, die sie zu html5 hinzufügen, wie <details>
.
Wenn dieses Konzept impliziter Divs zur HTML-Spezifikation hinzugefügt würde, würde es natürlich zehn Jahre dauern, bis es zum Standard wird, was eine Million Jahre Webzeit bedeutet.
Ich denke, es muss einen guten Grund dafür geben, dass dies noch nicht geschehen ist. Bitte erklären Sie es mir!