<p>: Элемент текстового абзаца

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTML-элемент <p> представляет собой абзац. Абзацы обычно представлены в визуальной среде в виде блоков текста, отделённых от соседних блоков пустыми строками и/или отступом в первой строке, кроме этого HTML-абзацы могут представлять собой структурную группировку однотипного содержимого, например изображений или полей формы.

Абзацы являются блочными элементами и, в частности, автоматически закрываются, если другой блочный элемент находится перед закрывающим тегом </p>. Смотрите ниже "Пропуск тега".

Интерактивный пример

Категории контента Потоковый контент, явный контент.
Допустимое содержимое Фразовый контент.
Пропуск тегов Требуется открывающий тег. Закрывающий тег может быть пропущен, если за элементом <p> сразу следует элемент <address>, <article>, <aside>, <blockquote>, <div>, <dl>, <fieldset>, <footer>, <form>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <header>, <hr>, <menu>, <nav>, <ol>, <pre>, <section>, <table>, <ul> или другой элемент <p>, или если в родительском элементе больше ничего не содержится и родительский элемент не является элементом <a>.
Допустимые родители Любой элемент, который разрешает потоковый контент в качестве содержимого.
Допустимые ARIA-роли Любые
DOM-интерфейс HTMLParagraphElement

Атрибуты

К этому элементу применимы только глобальные атрибуты.

Примечание: Атрибут align в тегах <p> устарел и больше не должен с использоваться.

Пример

HTML

html
<p>
  Это первый абзац текста. Это первый абзац текста. Это первый абзац текста. Это
  первый абзац текста.
</p>
<p>
  Это второй абзац текста. Это второй абзац текста. Это второй абзац текста. Это
  второй абзац текста.
</p>

Результат

Стилизация абзацев

По умолчанию браузеры разделяют абзацы одной пустой строкой. Альтернативные методы разделения, такие как отступы в первой строке абзаца, могут быть достигнуты с помощью CSS:

HTML

html
<p>
  Разделение абзацев пустыми строками удобнее для читателей, но их также можно
  разделить, сделав отступы в их первых строках. Это часто используется для
  экономии места, например, чтобы тратить меньше бумаги при печати.
</p>

<p>
  Письмо (имеется ввиду письменность), предназначенное для редактирования,
  например, школьные записи и черновики, использует для разделения как пустые
  строки, так и отступы. В готовых работах объединение этих двух способов
  считается излишним и любительским.
</p>

<p>
  В очень старом письме абзацы были разделены специальным символом: ¶,
  <i>pilcrow</i> (знак абзаца). В настоящее время это считается замкнутым и
  трудно читаемым.
</p>

<p>
  Насколько трудно читать? Посмотрите сами:
  <button data-toggle-text="О нет! Переключи обратно!">
    Используем "pilcrow" для абзацев
  </button>
</p>

CSS

css
p {
  margin: 0;
  text-indent: 3ch;
}

p.pilcrow {
  text-indent: 0;
  display: inline;
}
p.pilcrow + p.pilcrow::before {
  content: " ¶ ";
}

JavaScript

js
document.querySelector("button").addEventListener("click", function (event) {
  document.querySelectorAll("p").forEach(function (paragraph) {
    paragraph.classList.toggle("pilcrow");
  });
  var newButtonText = event.target.dataset.toggleText;
  var oldText = event.target.innerText;
  event.target.innerText = newButtonText;
  event.target.dataset.toggleText = oldText;
});

Результат

Доступность

Разделение контента на абзацы помогает сделать страницу более доступной. Программы чтения с экрана и другие вспомогательные технологии предоставляют шорткаты ("shortcut" - кратчайший путь), позволяющие пользователям переходить к следующему или предыдущему абзацу, позволяя им просматривать содержимое, например, как пустая строка позволяет пользователям, воспринимающим информацию визуально, пропускать абзацы.

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

Если требуется дополнительное пространство, используйте свойства CSS, например margin, чтобы создать такой эффект:

css
p {
  margin-bottom: 2em; // увеличение пустого пространства после абзаца
}

Спецификации

Specification
HTML
# the-p-element

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
p

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также