Абзацы и переносы

Разбираемся, как правильно делить текст на абзацы и когда уместен перенос строки.

Абзац оборачивают в <p>. Браузер сам добавляет отступы между абзацами.

Абзац — тег <p>

Основная единица текста на странице — абзац. Каждый абзац оборачивают в парный тег <p> (от англ. paragraph):

<p>Это первый абзац. В нём может быть сколько угодно текста.</p>
<p>А это уже второй, отдельный абзац.</p>

Браузер автоматически добавит вертикальный отступ между абзацами, так что они не сольются.

Важно: пробелы и переносы «схлопываются»

Новичков это удивляет. Сколько бы пробелов или пустых строк вы ни поставили в коде, браузер покажет один пробел. Вот такой код:

<p>Слова       с    кучей      пробелов
и переносом строки</p>

…отобразится как обычная строка «Слова с кучей пробелов и переносом строки» — с одним пробелом между словами. Поэтому разбить текст на абзацы пустой строкой в коде нельзя — нужны теги.

Перенос строки — <br>

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

<p>Москва, ул. Ленина, 5<br>
офис 301<br>
этаж 3</p>

Это один абзац, но текст в нём разбит на три строки. Не используйте <br> для отступов между абзацами — для разных абзацев есть <p>.

Разделительная линия — <hr>

Одиночный тег <hr> рисует горизонтальную линию. Он означает смысловой разрыв — например, переход к новой теме:

<p>Конец первой темы.</p>
<hr>
<p>Начало новой темы.</p>

Памятка

ТегЧто делает
<p>абзац (парный)
<br>перенос строки внутри абзаца (одиночный)
<hr>разделительная линия, смена темы (одиночный)

Почему важно делить текст на абзацы

Соблазн новичка — свалить весь текст в один большой <p> и расставить переносы тегом <br>. Так делать не надо. Каждая законченная мысль — это отдельный абзац, отдельный <p>. Правильное деление полезно сразу с нескольких сторон:

  • Читателю легче воспринимать текст, разбитый на смысловые куски, чем сплошное «полотно».
  • Браузеру проще управлять расстановкой: между абзацами он сам ставит ровные отступы.
  • Позже в CSS вы сможете задать всем абзацам единое оформление одним правилом — но только если это настоящие <p>, а не строки, склеенные через <br>.

Запомните разницу так: <p> — это «новая мысль», а <br> — это «та же мысль, просто перенесли строку».

Итог

  • Текст делят на абзацы тегом <p>; лишние пробелы и переносы в коде браузер схлопывает.
  • <br> переносит строку внутри абзаца, но не заменяет абзацы.
  • <hr> — горизонтальная линия как знак смены темы.
Проверьте себя
1. Как браузер обработает несколько пробелов подряд в коде?
AПокажет их все
BСхлопнет в один пробел
CВыдаст ошибку
DЗаменит на перенос строки
2. Когда уместен тег <br>?
AДля отделения двух разных абзацев
BДля переноса строки внутри одного абзаца (адрес, стихи)
CДля создания заголовка
DДля вставки картинки
3. Что означает тег <hr>?
AЖирный текст
BГоризонтальную линию и смысловой разрыв
CСсылку
DЗаголовок раздела
Поддержать проект