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

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

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

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

Атрибути

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

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

Доступність

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

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

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

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

Приклади

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,
  ];
});

Результат

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

Категорії вмісту Потоковий вміст, відчутний вміст.
Дозволений вміст Оповідальний вміст.
Пропуск тега 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 Так
Edge Full support 12
Firefox Full support 1
Internet Explorer Full support Так
Opera Full support Так
Safari Full support Так
WebView Android Full support Так
Chrome Android Full support Так
Firefox for Android Full support 4
Opera Android Full support Так
Safari on iOS Full support Так
Samsung Internet Full support Так

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