Dziś rano, kiedy pisałem trochę html i haml, przyszło mi do głowy, że sposób użycia div jest niedorzeczny. Dlaczego div nie jest dorozumiane? Wyobraź sobie, że to:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
było to:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
Jeśli założono część elementu „klasa div”, HTML byłby bardziej semantyczny i nieskończenie bardziej czytelny dzięki pasującym znacznikom zamykającym!
Jest to podobne do HAML, gdzie mamy:
.content Hello, World!
Który staje się:
<div class='content'>Hello, World!</div>
Wydaje mi się, że jedyną rzeczą, która musiałaby się wydarzyć, aby działało to w przeglądarkach, jest to, że przeglądarki mogłyby zacząć interpretować każdy element bez istniejącej definicji elementu HTML jako sugerującej <div class="<element name>">
.
Może to być całkowicie kompatybilne wstecz; w przypadku selektorów CSS i jQuery itp. „div.hero-img” może nadal działać i być wymaganą składnią do wybierania elementów.
Wiem o nowej specyfikacji komponentów internetowych, ale jest to znacznie bardziej skomplikowane niż sugerowane tutaj. Czy możesz sobie wyobrazić, jak przyjemnie byłoby spojrzeć na źródło strony i zobaczyć HTML, który tak wyglądał ?!
Dlaczego więc musimy używać div?
Jeśli spojrzysz na listę elementów HTML5 Mozilli , każdy element ma znaczenie semantyczne, a następnie przechodzimy do <div>
niego i mówi:
„Reprezentuje ogólny pojemnik bez specjalnego znaczenia”.
... a następnie wymieniają dowolne elementy, które dodają do HTML5, takie jak <details>
.
Oczywiście, jeśli ta koncepcja dorozumianych div zostanie dodana do specyfikacji HTML, normalizacja zajmie dziesięć lat, co stanowi milion lat w sieci.
Myślę, że musi być dobry powód, dla którego to się jeszcze nie wydarzyło. Proszę, wytłumacz mi to!