<p>: Елемент абзацу

{{HTMLSidebar}}

Елемент HTML <p> ("paragraph" – абзац) представляє абзац. Абзаци зазвичай представлені у візуальних медіа як блоки тексту, відділені від сусідніх блоків пустими рядками чи відступом першого рядка, однак абзаци HTML можуть бути будь-яким структурним групуванням пов'язаного вмісту, як то зображень чи полів форми.

Абзаци є елементами блокового рівня, отже – будуть автоматично закриті, якщо при розборі до тега </p> зустрівся інший елемент блокового рівня. Дивіться "Пропуск тега" нижче.

Спробуйте його в дії

Атрибути

Цей елемент включає лише глобальні атрибути.

Примітка: Атрибут align на тегах <p> є застарілим і не повинен використовуватися.

Приклади

HTML

<p>
  Це перший абзац тексту. Це перший абзац тексту. Це перший абзац тексту. Це
  перший абзац тексту. Це перший абзац тексту. Це перший абзац тексту.
</p>
<p>
  Це другий абзац. Це другий абзац. Це другий абзац. Це другий абзац. Це другий
  абзац. Це другий абзац.
</p>

Результат

Оформлення абзаців

Усталено браузери відділяють абзаци одним порожнім рядком. Інші способи відділення, як то відступ першого рядка, можуть бути реалізовані за допомогою CSS:

HTML

<p>
  Відділення абзаців порожніми рядками – найлегше для перегляду читачами, але
  також їх можна відділяти відступом їхніх перших рядків. Це нерідко
  використовується, щоб займати менше простору, як то для економії паперу при
  друці.
</p>

<p>
  Письмо, котре підлягає редагуванню, як то шкільні документи та ранні чернетки,
  використовують для відділення і порожні рядки, і відступи. В закінчених працях
  поєднання обох підходів вважається надлишковим і ознакою невмілості.
</p>

<p>
  У дуже старих записах абзаци відділяли особливим символом: ¶,
  <i>знаком абзацу</i>. Нині він вважається клаустрофобним і непрочитним.
</p>

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

CSS

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

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

JavaScript

document.querySelector("button").addEventListener("click", (event) => {
  document.querySelectorAll("p").forEach((paragraph) => {
    paragraph.classList.toggle("pilcrow");
  });

  [event.target.innerText, event.target.dataset.toggleText] = [
    event.target.dataset.toggleText,
    event.target.innerText,
  ];
});

Результат

Занепокоєння щодо доступності

Розрив вмісту на абзаци допомагає зробити сторінку доступнішою. Читачі з екрана та інші допоміжні технології запропонують своїм користувачам зручні інструменти для переходу до наступного чи попереднього абзацу, даючи їх змогу гортати вміст так, як завдяки пропускам можуть стрибати вмістом візуальні користувачі.

Застосування порожніх елементів <p> для додавання простору між абзацами є проблемним для людей, що орієнтуються за допомогою технологій читання з екрана. Читачі з екрана можуть оголосити присутність абзацу, але не вміст всередині нього – бо такого вмісту немає. Це може заплутати й спантеличити особу, що користується читачем з екрана.

Якщо потрібен додатковий простір, слід використовувати властивості CSS, як то margin, для реалізації ефекту:

p {
  margin-bottom: 2em; /* збільшити пропуск після абзацу */
}

Технічний підсумок

Категорії вмісту Потоковий вміст, відчутний вміст.
Дозволений вміст Оповідальний вміст.
Пропуск тега The start tag is required. Початковий тег – обов'язковий. Кінцевий тег можна пропустити, якщо після елемента <p> зразу стоїть елемент <address>, <article>, <aside>, <blockquote>, <details>, <div>, <dl>, <fieldset>, <figcaption>, <figure>, <footer>, <form>, h1, h2, h3, h4, h5, h6, <header>, <hgroup>, <hr>, <main>, <menu>, <nav>, <ol>, <pre>, <search>, <section>, <table>, <ul> або ще один <p>, або ж якщо в батьківському елементі більше немає вмісту і цей батьківський елемент не є елементом <a>, <audio>, <del>, <ins>, <map>, <noscript> або <video>, або автономним кастомним елементом.
Дозволені батьківські елементи Всі елементи, що приймають потоковий вміст .
Неявна роль ARIA paragraph
Дозволені ролі ARIA Усі
Інтерфейс DOM HTMLParagraphElement

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

Сумісність із браузерами

desktop mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet
p
Chrome Full support Yes
Edge Full support 12
Firefox Full support 1
Internet Explorer Full support Yes
Opera Full support Yes
Safari Full support Yes
WebView Android Full support Yes
Chrome Android Full support Yes
Firefox for Android Full support 4
Opera Android Full support Yes
Safari on iOS Full support Yes
Samsung Internet Full support Yes

Дивіться також