Spec-Zone.ru › CSS

Свойство CSS `text-wrap`

Базовая поддержка Недавно стало доступно

Эта функция работает в последних версиях устройств и браузеров. Она может не работать на старых устройствах или в старых версиях браузеров. Она поддерживается браузерами с октября 2024 года.

Свойство text-wrap CSS сокращённое управляет переносом текста внутри элемента. Разные значения позволяют:

  • улучшить типографику, например добиться более сбалансированной длины строк в заголовках с переносами
  • полностью отключить перенос текста.

Попробуйте

text-wrap: wrap;
text-wrap: nowrap;
text-wrap: balance;
text-wrap: pretty;
text-wrap: stable;
<section class="default-example" id="default-example">
  <div class="whole-content-wrapper">
    <p>Edit the text in the box:</p>
    <div class="transition-all" id="example-element">
      <p contenteditable>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatem aut
        cum eum id quos est.
      </p>
    </div>
  </div>
</section>
.whole-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

#example-element {
  border: 1px solid #c5c5c5;
  width: 250px;
}

Составные свойства

Это сокращённая запись следующих свойств CSS:

  • text-wrap-mode
  • text-wrap-style

Синтаксис

/* Keyword values */
text-wrap: wrap;
text-wrap: nowrap;
text-wrap: balance;
text-wrap: pretty;
text-wrap: stable;

/* Global values */
text-wrap: inherit;
text-wrap: initial;
text-wrap: revert;
text-wrap: revert-layer;
text-wrap: unset;

Значения

Свойству задаётся одно из следующих ключевых слов:

wrap
Текст переносится на следующую строку в подходящих местах (например, пробелах в языках, таких как английский, где слова разделяются пробелами), чтобы свести переполнение к минимуму. Это значение по умолчанию.
nowrap
Текст не переносится на следующие строки. Вместо переноса на новую строку он выйдет за пределы содержащего его элемента.
balance
Текст переносится так, чтобы на каждой строке было примерно одинаковое количество символов, что улучшает качество вёрстки и читаемость. Поскольку подсчёт символов и их балансировка на нескольких строках требуют значительных вычислительных ресурсов, это значение поддерживается только для блоков текста, содержащих ограниченное число строк (не более шести в Chromium и не более десяти в Firefox).
pretty
Поведение такое же, как у wrap, за исключением того, что браузер использует более медленный алгоритм, отдающий предпочтение качеству вёрстки, а не скорости. Это значение предназначено для основного текста, где хорошая типографика важнее производительности (например, когда нужно свести к минимуму количество висячих строк).
stable
Поведение такое же, как у wrap, за исключением того, что при редактировании содержимого пользователем строки перед редактируемыми остаются неподвижными, а не переносятся заново во всём блоке текста.

Описание

Текст внутри блока содержимого, например абзаца (<p>) или заголовка (<h1>–<h6>), может переходить на следующую строку двумя способами. Это принудительные переносы строк, задаваемые пользователем, и мягкие переносы строк, задаваемые браузером. Свойство text-wrap позволяет указать браузеру, как управлять мягкими переносами строк.

Выбор значения для text-wrap зависит от того, сколько строк текста вы планируете стилизовать, является ли текст contenteditable и что для вас важнее — внешний вид или производительность.

Если стилизуемое содержимое будет состоять из небольшого числа строк, например в заголовках, подписях и цитатах, можно добавить text-wrap: balance, чтобы сбалансировать количество символов в каждой строке и улучшить качество вёрстки и читаемость. Поскольку браузеры ограничивают число строк, на которые влияет это свойство, его воздействие на производительность незначительно.

Для более длинных фрагментов текста можно использовать text-wrap: pretty. Обратите внимание, что pretty отрицательно влияет на производительность, поэтому его следует использовать только для длинных блоков текста, когда качество вёрстки важнее скорости.

Значение stable улучшает взаимодействие с пользователем, если применяется к содержимому, для которого включено свойство contenteditable. Это значение гарантирует, что при редактировании текста предыдущие строки в редактируемой области останутся неизменными.

Формальное определение

Начальное значение wrap
Применяется к тексту и блочным контейнерам
Наследуется да
Проценты как для каждого из свойств сокращённой записи:
  • text-wrap-mode
  • text-wrap-style
Вычисленное значение как для каждого из свойств сокращённой записи:
  • text-wrap-mode
  • text-wrap-style
Тип анимации как для каждого из свойств сокращённой записи:
  • text-wrap-mode
  • text-wrap-style

Формальный синтаксис

text-wrap = 
  <'text-wrap-mode'> ||
  <'text-wrap-style'>

Примеры

Сравнение основных значений переноса текста

HTML

<h2 class="wrap" contenteditable="true">
  The default behavior; the text in the heading wraps "normally"
</h2>

<h2 class="nowrap" contenteditable="true">
  In this case the text in the heading doesn't wrap, and overflows the container
</h2>

<h2 class="balance" contenteditable="true">
  In this case the text in the heading is nicely balanced across lines
</h2>

CSS

.wrap {
  text-wrap: wrap;
}

.nowrap {
  text-wrap: nowrap;
}

.balance {
  text-wrap: balance;
}

h2 {
  font-size: 2rem;
  font-family: sans-serif;
}

Результат

Текст в примере можно редактировать. Измените его, добавив длинные слова, чтобы увидеть, как разная длина строк и слов влияет на переносы.

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

Спецификация
Модуль CSS Text, уровень 4
# text-wrap-shorthand

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
text-wrap
114
114
121
100
17.4
114
121
76
17.4
23.0
114
17.4
auto
130
130
121
115
17.4
130
121
86
17.4
28.0
130
17.4
balance
114
114
121
100
17.5
114
121
76
17.5
23.0
114
17.5
nowrap
114
114
124
100
17.4
114
124
76
17.4
23.0
114
17.4
pretty
117
117
Нет
103
26
117
Нет
78
26
24.0
117
26
stable
130
130
121
115
17.5
130
121
86
17.5
28.0
130
17.5
wrap
114
114
124
100
17.4
114
124
76
17.4
23.0
114
17.4

См. также

  • white-space
  • white-space-collapse
  • Модуль CSS для работы с текстом
  • CSS text-wrap: balance на developer.chrome.com (2023)
  • CSS text-wrap: pretty на developer.chrome.com (2023)
  • Балансировка японской и корейской типографики, Келли Чойс-Дван (2025)

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-wrap

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API