Сегодня утром, когда я писал html и haml, мне пришло в голову, что использование div'ов смешно. Почему div не подразумевается? Представьте себе, если это:
<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, который выглядел так ?!
Так почему мы должны использовать div?
Если вы посмотрите на список элементов Mozilla html5 , каждый элемент имеет семантическое значение, а затем мы дойдем до <div>
следующего:
«Представляет универсальный контейнер без особого значения».
..и затем они перечисляют произвольные элементы, которые они добавляют в html5, как <details>
.
Конечно, если бы эта концепция подразумеваемых div была добавлена в спецификацию html, потребовалось бы десять лет, чтобы стать стандартом, что составляет миллион лет в Интернете.
Так что я полагаю, что должна быть веская причина, пока этого не произошло. Пожалуйста, объясни мне это!