Параграфы и переносы
<p>— блочный элемент для абзаца текста;<br>— строчный элемент принудительного переноса строки;<wbr>— подсказка браузеру о возможном переносе длинного слова.
Зачем нужно
Правильное использование <p> и <br> — основа семантической текстовой разметки. <p> не только визуально разделяет текст, но и несёт структурный смысл: screen reader делает паузу между параграфами. Злоупотребление <br> вместо <p> — признак некачественной вёрстки: отступы между «параграфами» из <br> не семантичны и не масштабируются через CSS.
Где используется
<p>— любой блочный текст: статьи, описания, подписи<br>— адреса, стихи, строфы, форматированный текст (где перенос строки семантически важен)<wbr>— длинные URL, технические строки в узких контейнерах
<p> — параграф
<article>
<h1>Введение в HTML</h1>
<p>HTML (HyperText Markup Language) — язык разметки, который описывает структуру веб-страниц. Браузер читает HTML и отображает его как форматированный документ.</p>
<p>Каждый HTML-документ состоит из элементов — тегов, которые оборачивают содержимое и задают ему смысловую роль.</p>
</article>
<p> — блочный элемент. Вложить в него другой блочный элемент (например, <div>) нельзя:
<!-- Неправильно: блочный элемент внутри <p> -->
<p>Текст <div>блок</div> текст</p>
<!-- Правильно: inline-элементы внутри <p> -->
<p>Текст <strong>жирный</strong> и <a href="#">ссылка</a></p>
<br> — перенос строки
Используется, когда перенос строки является частью содержимого (а не стилевым решением):
<!-- Адрес — перенос смысловой -->
<address>
ООО «Пример»<br>
Москва, ул. Примерная, д. 1<br>
Россия, 123456
</address>
<!-- Стихотворение -->
<p>
В начале было Слово,<br>
и Слово было HTML,<br>
и HTML был правильным.
</p>
НЕ используй <br> для создания отступов между блоками:
<!-- Плохо: <br> для отступа -->
<p>Первый абзац.</p>
<br>
<br>
<p>Второй абзац.</p>
<!-- Хорошо: CSS margin -->
<p>Первый абзац.</p>
<p>Второй абзац.</p>
p + p { margin-top: 1.5em; }
<wbr> — мягкий перенос
Браузер может перенести строку в этом месте, если это необходимо:
<!-- Длинный URL без пробелов -->
<p>
Документация: https://developer.mozilla.org<wbr>/ru<wbr>/docs<wbr>/Web<wbr>/HTML
</p>
<!-- Технические строки -->
<code>some<wbr>_very<wbr>_long<wbr>_variable<wbr>_name</code>
<wbr> не добавляет дефис — только разрешает перенос.
Частые ошибки
| Ошибка | Почему плохо | Как правильно |
|---|---|---|
<br><br> вместо <p> |
Нет семантики, плохо масштабируется | Используй <p> для абзацев |
Блочный элемент внутри <p> |
Браузер закрывает <p> автоматически, DOM ломается |
Только inline-элементы внутри <p> |
<p> для любого отступа |
Пустые параграфы — мусор в DOM | Управляй отступами через CSS margin |
| Пробелы/переносы в HTML для форматирования | Браузер игнорирует множественные пробелы | Используй CSS или <pre> для преформатированного текста |