/
Блог Хекслета
/
Код
/

Новая строка и перенос текста: HTML, CSS и Word cover

Новая строка и перенос текста: HTML, CSS и Word cover

10 марта 2026 г.
8 минут
Новая строка и перенос текста: HTML, CSS и Word cover

Перенос строки — это переход текста на следующую строку: в редакторе, в разметке или в коде. От того, как задаётся перенос, зависит и вид документа, и вёрстка на сайте: длинное слово может вылезать за блок, абзац — разъезжаться или, наоборот, оставаться компактным. В статье — как сделать перенос строки и перенос слов в Word, в HTML и CSS: тег <br>, свойства word-break, overflow-wrap, hyphens, мягкий перенос &shy;, неразрывный пробел и примеры кода.

Содержание

Перенос строки: что это такое

Перенос строки — переход печати (или отображения) текста на следующую строку. В текстовом редакторе это обычно нажатие Enter (новый абзац) или автоматический перенос, когда строка заполнена. В разметке и вёрстке перенос задаётся явно: тегом, символом или CSS-свойством.

Различают:

  • Жёсткий перенос — явная «новая строка» в нужном месте (например, тег <br> в HTML или символ перевода строки в коде).
  • Мягкий перенос — подсказка, где можно разорвать слово, если не хватает места (мягкий дефис, &shy; в HTML).
  • Автоматический перенос — браузер или редактор сам переносит текст по границам блока или по правилам (например, по пробелам между словами).
Жёсткий, мягкий и автоматический перенос Типы переноса Жёсткий <br>, Enter всегда новая строка Мягкий &shy;, Ctrl+- разрыв при нехватке места Авто по границе блока word-break, по пробелам

Рис. 1 — Жёсткий, мягкий и автоматический перенос

В Word: автоматически, вручную, мягкий и неразрывный

В Microsoft Word перенос строки настраивается так:

Автоматический перенос

Включить авто-перенос слов в конце строки: МакетРасстановка переносовАвто. Тогда длинные слова будут разрываться по слогам в соответствии с правилами языка.

Жёсткий перенос (новая строка без нового абзаца)

Shift+Enter — разрыв строки внутри абзаца. Курсор переходит на следующую строку, но абзац не создаётся (удобно для стихов, адресов).

Мягкий перенос (подсказка, где разорвать слово)

Ctrl+‑ (минус) — вставляется мягкий перенос: если слова не хватает места, оно разорвётся в этом месте и появится дефис. Если места достаточно — символ не показывается. Чтобы видеть скрытые знаки: ГлавнаяАбзацОтобразить все знаки.

Неразрывный пробел и неразрывный дефис

Чтобы слово или фраза не разрывались (например, «10 000 руб.», телефон, инициалы):

  • Неразрывный пробел: Ctrl+Shift+Пробел — пробел, на котором строка не разрывается.
  • Неразрывный дефис: Ctrl+Shift+‑ — дефис без разрыва (номера, диапазоны).

Так можно «склеить» число с единицей измерения или части имени.

Word: Enter, Shift+Enter, Ctrl+-, Ctrl+Shift+- Word: основные комбинации Enter новый абзац Shift+Enter новая строка без абзаца Ctrl+− мягкий перенос Ctrl+Shift+Пробел — неразрывный пробел Ctrl+Shift+− — неразрывный дефис

Рис. 2 — Перенос и неразрывность в Word

В HTML: новая строка и пробелы

В HTML перенос текста на следующую строку и отображение пробелов подчиняются правилам разметки.

Тег <br> — принудительный перенос строки

<br> — одиночный (самозакрывающийся) тег. В месте, где он стоит, браузер начинает новую строку. Закрывать его не нужно.

Пример:

<p>Первая строка.<br>Вторая строка.</p>

На экране будет:

  • Первая строка.
  • Вторая строка.

Используйте <br> там, где разрыв строки — часть смысла (стихи, адрес, короткие подписи). Для абзацев лучше отдельные блоки <p>.

Пробелы и переносы в исходном коде

В HTML несколько подряд идущих пробелов и один перенос строки по умолчанию отображаются как один пробел. Поэтому перенос строки в исходнике между словами не даёт переноса на экране — только пробел. Чтобы показать несколько пробелов или «как в коде», используют тег <pre> или CSS-свойство white-space.

В HTML br даёт новую строку; пробелы схлопываются HTML: перенос и пробелы <br> всегда новая строка одиночный тег Пробелы и \n в коде схлопываются в один пробел для нескольких — &nbsp; или white-space

Рис. 3 — br и отображение пробелов в HTML

В CSS: перенос слов и разрыв строки

В вёрстке переносом управляют свойства блока: как переносить длинные слова, где разрешать разрыв, как показывать пробелы.

word-break и overflow-wrap

СвойствоНазначение
word-breakГде разрешать разрыв внутри слова.
overflow-wrap (старое имя word-wrap)Может ли длинное слово разорваться, если не помещается в строку.

Значения word-break:

  • normal — перенос по умолчанию (по пробелам, по правилам языка). Длинное слово без пробелов может вылезти за границу.
  • break-all — разрешить разрыв в любом месте слова. Удобно для длинных URL или слитных строк без пробелов; выглядит грубо.
  • keep-all — по возможности не разрывать слово (актуально для CJK).

Значения overflow-wrap:

  • normal — слово переносится только в «разрешённых» местах.
  • break-word — если слово не помещается целиком, разрешить разрыв внутри него (дополняет поведение при word-break: normal).

Пример: узкий блок и длинное слово.

.box {
  width: 120px;
  border: 1px solid #ccc;
  padding: 8px;
}

/* Длинное слово может вылезти за блок */
.box-default {
  word-break: normal;
}

/* Разрешить разрыв в любом месте — слово не вылезет */
.box-break {
  word-break: break-all;
}

/* Разрывать только если слово не помещается; иначе по пробелам */
.box-wrap {
  overflow-wrap: break-word;
}
word-break: normal vs break-all; overflow-wrap: break-word word-break и overflow-wrap normal по пробелам, слово может вылезти break-all разрыв в любом месте слова overflow-wrap break-word разрыв при переполнении Выбор зависит от контента: URL, код, обычный текст

Рис. 4 — Варианты переноса слов в CSS

Мягкий перенос и hyphens

Мягкий перенос в HTML — символ &shy; (soft hyphen). Браузер показывает дефис и переносит строку только если слово не помещается; иначе &shy; невидим.

Пример: «дисплейдисплейдисплей» с подсказками переноса.

<p>дисплей&shy;дисплей&shy;дисплей</p>

В узком блоке слово разорвётся в указанных местах с дефисом.

Свойство hyphens в CSS управляет автоматической расстановкой переносов по словарю браузера:

  • none — не переносить по слогам.
  • manual — только в явных местах (например, после &shy;).
  • auto — браузер сам ставит переносы по правилам языка (нужен атрибут lang у элемента или у <html>).

Для русского языка важно указать lang="ru" на <html> или на контейнере, иначе авто-переносы могут не сработать.

p {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}
­ и hyphens: auto Мягкий перенос и hyphens &shy; подсказка, где разорвать слово; дефис только при переносе hyphens: auto браузер по словарю + lang для русского — lang="ru"

Рис. 5 — Мягкий перенос и авто-перенос по слогам

white-space: как браузер показывает пробелы и переносы

Свойство white-space задаёт, как обрабатывать пробелы и переводы строк в исходном коде:

ЗначениеПробелыПереносы в кодеПеренос по ширине
normalсхлопываютсяигнорируютсяда
nowrapсхлопываютсяигнорируютсянет
preсохраняютсяновая строканет
pre-wrapсохраняютсяновая строкада
pre-lineсхлопываютсяновая строкада

Пример: сохранить переносы строк из кода (как в <pre>, но с переносом по ширине).

.poem {
  white-space: pre-line;
}

На экране будет три строки; лишние пробелы внутри строки схлопнутся.

Примеры: узкий блок, длинное слово, абзацы

Узкий блок и длинный URL: чтобы ссылка не вылезала за контейнер и не ломала вёрстку, можно разрешить разрыв внутри слова:

.url-cell {
  overflow-wrap: break-word;
  word-break: break-all; /* при необходимости */
}

Абзацы и отступ первой строки: перенос на новую строку в смысле «новый абзац» делают отдельным блоком <p>. Отступ задаётся через text-indent или отступы у <p>.

<p>Первый абзац текста.</p>
<p>Второй абзац. Внутри абзаца для принудительного разрыва используйте <br>.</p>

Неразрывный пробел в HTML: символ &nbsp; (non-breaking space). Слова, между которыми стоит &nbsp;, не разнесутся на разные строки. Удобно для чисел с единицами: «10 000 руб.»

Выбор способа переноса Когда что использовать <br> адрес, стихи, подпись — разрыв часть смысла word-break / hyphens длинные слова, URL, узкий блок Неразрывность: &nbsp; или в Word — Ctrl+Shift+Пробел

Рис. 6 — Выбор способа переноса

Символы и коды

Краткая шпаргалка по символам и сущностям:

Символ / кодНазваниеНазначение
\nПеревод строки (LF)В коде и текстовых форматах (Unix, macOS)
\r\nCRLFВ Windows-текстах
<br>Line breakВ HTML — новая строка
&nbsp;Неразрывный пробелСлова не разъезжаются по строкам
&shy;Мягкий переносПодсказка разрыва слова, дефис при переносе
&#8203;Zero-width spaceНевидимый символ, допустимое место разрыва (в т.ч. в длинных словах)

В JavaScript строку с переносами для вывода в HTML можно превратить в разметку с <br>:

const text = "Первая строка\nВторая строка";
const html = text.split('\n').join('<br>');
element.innerHTML = html;

Или выводить в элемент с white-space: pre-line, тогда \n отобразятся как переносы.

Выводы

  • Перенос строки бывает жёстким (<br>, Enter), мягким (подсказка разрыва, &shy;) и автоматическим (по ширине блока, по пробелам).
  • В Word: Enter — новый абзац, Shift+Enter — новая строка без абзаца, Ctrl+− — мягкий перенос, Ctrl+Shift+Пробел — неразрывный пробел, Ctrl+Shift+− — неразрывный дефис.
  • В HTML: <br> — принудительная новая строка; пробелы и переносы в коде по умолчанию схлопываются в один пробел.
  • В CSS: word-break и overflow-wrap управляют переносом слов; hyphens: auto даёт перенос по слогам (нужен lang). white-space задаёт отображение пробелов и переносов из исходника.
  • Для «не разрывать» используйте неразрывный пробел &nbsp; в HTML и соответствующие комбинации в Word. Для длинных слов в узком блоке — overflow-wrap: break-word, word-break: break-all или мягкий перенос &shy; / hyphens: auto.

Никита Вихров

2 часа назад

0

Категории