До <p> чи не до <p>?


16

Нещодавно я мав дебати з колегою, який стверджував, що <div>тег слід використовувати над <p>тегом при форматуванні абзаців.

Справа проти використання <p>полягає в тому, що він створює нерегулярні інтервали між браузерами і, ймовірно, може застаріти, як <b>тег.

Чи <p>поділяється ця думка тегу спільнотою?


5
Зазначимо лише, <b><i>з цього приводу) далеко не застарілі. Перевірте специфікацію HTML5.
НезадоволенняГота

Хороший момент - я щойно перевіряв, мене завжди вказували, що <b> і <i> є амортизованими тегами, і <strong> і <em> слід використовувати.
БредБ

<strong>і <em>завжди слід використовувати для наголосу. <b>і <i>вони застаріли в цьому відношенні, але вони мають легітимне, хоча і обмежене використання, у HTML5.
НезадоволенняГота

Чи справді ця дискусія належить тут? Мені здається, що це повинно бути в Doctype
Charles Boyung

@Charles - це сіра зона на даний момент, оскільки сайт ще в зародковому стані. Якщо ви відчуваєте себе сильно, не соромтеся розпочати нову дискусію на сайті meta.webmasters.stackexchange.com - або опублікуйте свої коментарі тут: meta.webmasters.stackexchange.com/questions/117/…
Марк Хендерсон,

Відповіді:


41

divs і ps призначені для зовсім інших цілей. pє для абзаців, divдля секційних підрозділів. Один призначений для форматування тексту, інший - для структури сторінки. Семантично неправильно використовувати divзамість p.

І причину використання цього bне рекомендує - це тег презентації. Він не має семантичного значення. Обидва pі divмають свої унікальні смислові значення. pніколи не буде застарілим, поки люди все ще відформатують текст в абзаци.

Ваш колега, здається, не знайомий з принципом розділення змісту та презентації . В іншому випадку він знатиме, чому bце не так, і проблеми презентації, такі як інтервал між текстами, слід визначати в CSS, а не у вашому HTML.


11
+1 Згоден. Просто підкреслимо ... будь-який "нерегулярний пробіл у веб-переглядачах" (хоча це дискусійно) можна повністю контролювати за допомогою CSS.
MrWhite

4
Так ... p { margin: 1em 0 }все це питання суперечить.
НезадоволенняГота

7
<b>в даний час має семантичне значення: "Елемент b являє собою проміжок тексту, на який звертається увага для утилітарних цілей, не надаючи зайвої важливості і не маючи на увазі альтернативного голосу чи настрою, таких як ключові слова в рефераті документа", назви продуктів в огляді, корисні слова в інтерактивному текстовому програмному забезпеченні або перекладі статті ". ( джерело )
Девід Мердок

13

<p>і <div>не призначені для однієї мети, оскільки вони мають різне семантичне значення:

  • <p> для абзацу,
  • <div>полягає в тому, щоб "запропонувати загальний механізм для додавання структури в документи", як зазначено в специфіці div HTML від W3C

<p> може не бути застарілим у майбутньому, оскільки він все ще присутній у XHTML та HTML 5.

Обидва теги мають різні графічні візуалізації. A <p>має верхню та нижню межі 1em, тоді як a <div>зовсім не має межі. Але ця точка є вторинною, оскільки може бути перекрита CSS.

Також врахуйте цю різницю: хоча обидва теги мають тип "блок", вони <div>можуть містити лише інші елементи блоку. Таким чином:

  • <p><p> bla </p></p> невірно, поки
  • <div><div> bla </div></div> гаразд

Важливим моментом, який слід пам’ятати, є і дійсні, і використані теги, але не з однаковою метою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.