Сьогодні вранці, коли я писав деякі html та haml, мені спало на думку, що спосіб використання divs є смішним. Чому діви не маються на увазі? Уявіть, якщо це:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
було це:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
Якби передбачалася частина елемента "div class", HTML був би більш семантичним і нескінченно більш читабельним із відповідними тегами, що закриваються!
Це схоже на HAML, де у нас є:
.content Hello, World!
Що стає:
<div class='content'>Hello, World!</div>
Мені здається, єдине, що повинно статися для цього в браузерах, це те, що браузери можуть почати інтерпретувати кожен елемент без наявного визначення елемента html як такого, що передбачає <div class="<element name>">
.
Це може бути повністю сумісним назад; для селекторів CSS та jQuery тощо "div.hero-img" все ще може працювати і бути необхідним синтаксисом для вибору елементів.
Я знаю про нову специфікацію веб-компонентів, але це значно складніше, ніж пропонується тут. Ви можете уявити, як приємно було б подивитися джерело веб-сайту і побачити html, який виглядав так ?!
То чому ми повинні використовувати діви?
Якщо ви подивитеся на список елементів Mozilla html5 , кожен елемент має семантичне значення, і тоді ми переходимо до цього, <div>
і він говорить:
"Представляє загальний контейнер без особливого значення."
..і потім вони перераховують довільні елементи, які вони додають до html5 <details>
.
Звичайно, якби до поняття html було додано це поняття, що мається на увазі, знадобиться десять років, щоб стати стандартними, що становить мільйон років у веб-часі.
Тож я думаю, що має бути вагома причина, що цього ще не сталося. Будь ласка, поясніть мені це!