Spec-Zone.ru › CSS

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

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

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

Свойство text-wrap-style CSS управляет переносом текста внутри элемента и предоставляет альтернативные способы определения мест разрыва строк, чтобы уместить содержимое в блочном элементе.

Попробуйте

text-wrap-style: auto;
text-wrap-style: balance;
text-wrap-style: pretty;
text-wrap-style: 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;
}

Синтаксис

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

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

Значения

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

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

Спецификация также определяет значение avoid-orphans, при котором браузеры учитывают более одной строки при выборе мест переноса, чтобы избежать слишком коротких последних строк. Это значение пока не поддерживается ни в одном браузере.

Описание

Свойство text-wrap-style можно использовать, чтобы указать пользовательскому агенту, как следует вставлять мягкие переносы строк, если содержимое допускает перенос. Каждое значение определяет свой подход к переносу строк, позволяя выбирать между скоростью, качеством, стилем оформления и стабильностью и предоставляя альтернативные способы переноса содержимого блочного элемента.

Если содержимое допускает перенос — это обычное поведение, поскольку значение свойства text-wrap-mode по умолчанию — wrap, — единственное ключевое значение свойства text-wrap-style определяет, как разработчик хочет переносить текст. Значения не влияют на места возможного мягкого переноса, а лишь определяют, какие из них выберет браузер. Если свойству text-wrap-mode задано значение nowrap, это свойство не действует.

Выбор значения

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

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

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

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

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

Начальное значение auto
Применяется к тексту и блочным контейнерам
Наследуется да
Вычисленное значение как задано
Тип анимации дискретный

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

text-wrap-style = 
  auto |
  balance |
  stable |
  pretty

Примеры

Сбалансированный текст

В этом примере показаны два абзаца: для первого используется значение auto по умолчанию, а для второго — balance.

HTML

<h2>Unbalanced</h2>
<p>
  Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, ad. Impedit
  adipisci rerum modi praesentium atque aperiam vitae nesciunt consectetur
  assumenda deleniti repudiandae perferendis sed odio doloremque, aliquid natus
  laboriosam?
</p>
<h2>Balanced</h2>
<p class="balanced">
  Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, ad. Impedit
  adipisci rerum modi praesentium atque aperiam vitae nesciunt consectetur
  assumenda deleniti repudiandae perferendis sed odio doloremque, aliquid natus
  laboriosam?
</p>

CSS

p {
  max-width: 60ch;
}
.balanced {
  text-wrap-style: balance;
}

Результат

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

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

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

Настольные устройства Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
text-wrap-style
130
130
124
115
17.5
130
124
86
17.5
28.0
130
17.5
auto
130
130
124
115
17.5
130
124
86
17.5
28.0
130
17.5
balance
130
130
124
115
17.5
130
124
86
17.5
28.0
130
17.5
pretty
130
130
Нет
115
26
130
Нет
86
26
28.0
130
26
stable
130
130
124
115
17.5
130
124
86
17.5
28.0
130
17.5

См. также

  • text-wrap
  • text-wrap-mode
  • hyphens
  • hyphenate-limit-chars
  • модуль CSS Text

© 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-style

Spec-Zone.ru

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