Делать или не делать?
Недавно у меня был спор с коллегой, который утверждал, что тег <div>
следует использовать поверх тега <p>
при форматировании абзацев.
Аргумент против использования <p>
заключается в том, что он создает неравномерные интервалы между браузерами и, вероятно, устареет, как тег <b>
.
Разделяет ли сообщество это мнение о теге <p>
?
2 answers
div
s и p
s предназначены для совершенно разных целей. p
- для абзацев, div
- для секционных разделов. Один предназначен для форматирования текста, другой - для структуры страницы. Семантически неверно использовать div
вместо p
.
И причина, по которой использование b
не рекомендуется, заключается в том, что это тег презентации. Это не имеет никакого семантического значения. И p
, и div
имеют свои собственные уникальные семантические значения. p
никогда не устареет, пока люди все еще форматируют разделите текст на абзацы.
Ваш коллега, похоже, не знаком с принципом разделения содержания и представления . В противном случае он знал бы, почему b
вызывает отвращение и что такие проблемы с презентацией, как интервал между текстами, должны определяться в CSS, а не в вашем HTML.
<p>
и <div>
не предназначены для одной и той же цели, так как они имеют другое семантическое значение:
-
<p>
для абзаца, -
<div>
заключается в том, чтобы "предложить общий механизм добавления структуры в документы", как указано в разделе Спецификация HTML от W3C
<p>
не может быть устаревшим в будущем, так как он все еще присутствует в XHTML и HTML 5.
Оба тега имеют различную графическую визуализацию. У <p>
есть верхнее и нижнее поля 1em, в то время как у <div>
вообще нет поля. Но этот момент вторичен, так как он может быть переопределен CSS.
Также обратите внимание на это различие: хотя оба тега имеют тип "блок", только <div>
может содержать другие элементы блока. Таким образом:
-
<p><p> bla </p></p>
неверно, в то время как -
<div><div> bla </div></div>
в порядке
Важно помнить, что оба тега являются действительными и используются, но не для одной и той же цели.