Под капотом реализованы ли теги HTML5 (статья, раздел, заголовок, нижний колонтитул) так же, как div? - PullRequest
3 голосов
/ 27 декабря 2011

Я понимаю, что все эти теги имеют разные смысловые значения, например article для истории, которая стоит особняком; section для автономной части страницы ...

Это хорошие и полезные теги, во многих отношениях. Но они просто синтаксис сахара? Потому что я не видел никаких стилевых различий между ними. Когда они не применяются какими-либо правилами CSS, они похожи на div s.

Надеюсь, некоторые эксперты по webkit / gecko смогут прояснить это на уровне кода.

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Я не видел никаких стилевых отличий между ними. Когда они не применяются никакими правилами CSS, они похожи на div.

Каждый браузер имеет свою собственную таблицу стилей, которая применяется к содержимому страницы. Вот почему мы обычно используем таблицы стилей сброса CSS - чтобы нормализовать все между различными таблицами стилей браузера. Стиль и содержание - это две совершенно разные вещи, то, что выглядит как , не имеет никакого отношения к тому, что есть , поэтому вам не следует размечать страницу в зависимости от того, как вы хотите, чтобы она отображалась .

Когда-нибудь браузеры могут добавлять стиль по умолчанию к определенным элементам HTML5, например, к некоторым отступам на <section> s, но это не имеет значения (и на самом деле маловероятно).

Это просто синтаксис сахара?

Совсем нет. Хотя может показаться, что разница невелика, это позволяет более осмысленно понимать ваш контент, например, программами чтения с экрана или поисковыми системами.

Как отмечает Grillz , все рассматриваемые элементы являются элементами блочного уровня, поэтому в этом отношении они в основном отображаются как div s, но имеют семантическое значение и не предназначены для используется как общие элементы контейнера.

1 голос
/ 27 декабря 2011

В основном да.На самом деле это не div, а элементы уровня блока (тонкие, но разные).

http://diveintohtml5.info/semantics.html#new-elements

В HTML5 определено несколько новых элементов, которые являются элементами уровня блока.То есть они могут содержать другие элементы уровня блока, и HTML5-совместимые браузеры будут стилизовать их как display: block по умолчанию.

Так что да, на данный момент они только для сокращения длины кодаи создание более чистой разметки, но это то, что делают элементы уровня блока.Если вы удалите стиль по умолчанию из тега <p>, не будет ли он похож на <div>?

...