Следует ли использовать тег ‹p /› в разметке?

Я всегда использовал тег <br /> или <div/>, когда требовалось что-то более сложное.

По-прежнему приветствуется ли использование тега <p/>?


person maxp    schedule 11.08.2009    source источник
comment
А поточнее? Ваш вопрос гласит, что вы уже используете теги ‹p› ‹/p› (абзацы), но когда вам нужно что-то более продвинутое, вы используете теги ‹div› или ‹br /› (разрыв). В каком случае вам предлагается использовать ‹p› вместо ‹div›?   -  person Darren Newton    schedule 11.08.2009
comment
Мне сказали, что я использую ‹br /›, хотя вместо этого я должен использовать ‹p /›.   -  person maxp    schedule 11.08.2009


Ответы (11)


Современная семантика HTML:

  • Используйте <p></p>, чтобы содержать абзац текста в документе.
  • Используйте <br /> для обозначения разрыва строки внутри абзаца (т. Е. Новой строки без полей или отступов блока абзаца).
  • Используйте <div></div>, чтобы содержать часть пользовательского интерфейса приложения, которая имеет макет блока.

Не используйте <div /> или <p /> сами по себе, эти теги предназначены для содержания. Кажется, что они работают как разрывы абзацев только потому, что, когда браузер их видит, он «услужливо» закрывает текущий тег блока, прежде чем открыть пустой.

person Christian Hayter    schedule 11.08.2009
comment
У меня есть div с меткой и кнопкой отправки. Мне нужна кнопка отправки в строке после метки. Разрыв, кажется, работает, но вы сказали, что разрыв следует использовать внутри абзаца. Итак, как правильно разместить кнопку на следующей строке? еще один div? Добавление произвольного абзаца для обтекания метки и кнопки кажется неправильным. - person n00b; 11.01.2018
comment
Разметку частей пользовательского интерфейса лучше всего выполнять с помощью CSS, а не тегов HTML. Лучшее решение во многом зависит от ваших требований к планировке. Попробуйте поискать в Google такие вещи, как разрыв строки css или создание новой строки css. - person Christian Hayter; 12.01.2018

Тег <p> что-то оборачивает, в отличие от тега <input/>, который представляет собой отдельный элемент. Следовательно, нет причин использовать тег <p/> ..


Мне сказали, что я использую <br />, тогда как вместо этого я должен использовать <p />. - maxp 49 секунд назад

Если вам нужно использовать теги <p>, я предлагаю заключить весь абзац в тег <p>, что даст вам разрыв строки в конце абзаца. Но я не предлагаю просто заменять <br/> чем-то вроде <p/>.

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

person Tyler Carter    schedule 11.08.2009
comment
На мой взгляд, это не ответ на вопрос. - person markus; 11.08.2009
comment
Приветствуется ли использование тега <p/>, я говорю, что его не следует использовать, а затем следует фильтровать его до «не рекомендуется». - person Tyler Carter; 11.08.2009
comment
Что ж, знайте, это отвечает на вопрос. - person markus; 11.08.2009
comment
Это моя дурная привычка. Я обычно пишу очень быстро, а потом много редактирую. - person Tyler Carter; 11.08.2009
comment
Chacha102: Stackoverflow, кажется, поощряет рабочий процесс очень быстро, а затем детально редактировать, особенно для вопросов, на которые будет много ответов. Трудно быть самым быстрым оружием на западе, когда ты печатаешь подробный ответ. Я считаю, что это весьма прискорбно. - person derobert; 11.08.2009
comment
Не так. Как тот, кто задает вопросы, кто не хочет немедленных ответов? Скорость получения ответов стоит задержки между ответом и деталями. Если в какой-то момент ответ будет неправильным, механизм отрицательного голосования может помочь в этом. Таким образом, ответы, которые верны, но не полностью детализированы, работают нормально, ответы, которые неправильные, затем правильные и полностью подробные, получают отрицательное голосование, а затем повышенное, когда они становятся правильными, а ответы, которые публикуются одновременно, получают соответствующее голосование. Система работает. - person Kzqai; 04.01.2010

Абзац - это абзац, разрыв - это разрыв.

<p> похож на обычный Return в Office Word.
<br> похож на мягкий возврат Shift + Return в Office Word.

первый устанавливает все настройки / стили абзаца, второй почти не разрывает строку текста.

Да, <p> элементы приветствуются, и в ближайшее время их поддержка не будет.

person Robert Koritnik    schedule 01.12.2009

<p> обозначает абзац. Его следует использовать только для обтекания абзаца текста.

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

person Zack Marrapese    schedule 11.08.2009

Использование <p /> никогда не поощрялось:

Из рекомендаций по совместимости XHTML HTML

С.3. Минимизация элементов и пустое содержимое элемента

Учитывая пустой экземпляр элемента, модель содержимого которого не является ПУСТОЙ (например, пустой заголовок или абзац), не используйте свернутую форму (например, используйте <p> </p>, а не <p />).

person Greg    schedule 11.08.2009

Интересно, что Подсчет тегов абзацев указывает, что случайная выборка из 833 866 HTML-документов обнаружил, что 50,1% отобранных документов содержат только ‹p> ... ‹/p>, 4,41% содержат только ... ‹p> ... и всего 0,21% содержат только ... ‹p />. ...

person lance    schedule 11.08.2009

Из спецификации HTML 4.01:

Мы не рекомендуем авторам использовать пустые элементы P. Пользовательские агенты должны игнорировать пустые элементы P.

Хотя они синтаксически верны, пустые элементы P не служат реальной цели, и их следует избегать.

person christopheml    schedule 11.08.2009

HTML DTD не запрещает вам использовать пустой <p> (элемент <p> может содержать PCDATA, включая пустую строку), но не имеет большого смысла иметь пустой абзац.

person Martin Liversage    schedule 11.08.2009

Тег <p> определяет абзац. Нет причин для пустого абзаца.

person Philippe    schedule 11.08.2009

Для чего это нужно? У всех тегов есть своя маленькая цель в жизни, но не следует использовать теги для всего. Узнайте, что вы пытаетесь сделать, а затем решите, какой тег лучше всего подходит для этой идеи:

Если это абзац текста или хотя бы несколько строк, оберните его в <p></p>

Если вам нужен разрыв строки между двумя строками текста, используйте <br />

Если вам нужно обернуть много других элементов в один элемент, используйте теги <div></div>.

person Marius    schedule 11.08.2009

Для каких-либо практических целей вам не нужно добавлять </p> в разметку. Но если есть требование соблюдения строкового XHTML, вам, вероятно, придется закрыть все ваши теги разметки, включая <p>. Некоторые анализаторы XHTML сообщают об этом как об ошибке.

person Bhaskar    schedule 11.08.2009
comment
Для экранирования HTML-тегов в сообщениях необходимо использовать галочки. Я отредактировал их для вас. - person Tyler Carter; 11.08.2009