Свойство CSS line-break определяет, насколько строго должны применяться правила переноса текста на новые строки, особенно при работе с символами и знаками препинания в китайских, японских или корейских (CJK) системах письма. Он включен в спецификацию CSS Text Module Level 3, которая в настоящее время находится в редакции. Синтаксис свойства:

.element {
  line-break: strict;
}

Значения, которые может принимать свойство:

  • auto: позволяет браузеру решить, как он реализует разрывы строк. Каждый браузер может различаться по своим критериям, основанным на факторах, включая длину строки.
  • normal: разбивает строки текста на основе «наиболее распространенного» набора правил.
  • loose: применяется самое простое соблюдение правил разрыва строки. Это обычно короткие строки текста.
  • strict: применяется самый строгий набор правил для разрывов строк.
  • anywhere: значение включает возможности мягкого переноса , которые позволяют тексту разрываться по пробелам или знакам препинания, а не только по границе слова. Он идеально подходит для языков, в которых для разделения слов могут не использоваться пробелы или знаки препинания.

Поведение для разных языков

Разные языки имеют разные предпочтения, когда речь идет о том, как текст разбивается на новые строки. Не существует стандартного соглашения, используемого всеми языками. Это оставляет за браузерами возможность выяснить и следовать «правильным» правилам для конкретного языка. Но спецификация содержит несколько требований для определения того, разрешен ли разрыв строки на разных уровнях строгости в определенных ситуациях.

Ситуация normal loose strict
Разрывы перед японской маленькой каной или удлиненным звуковым знаком Катакана-Хирагана, т.е. символом из класса перевода строки Unicode CJ
Разрывы перед некоторыми символами дефиса CJK:
〜 U+301C, ゠ U+30A0
если система письма китайская или японская Разрешено, если система письма китайская или японская
Разрывы перед метками итерации:
々 U+3005, 〻 U+303B, ゝ U+309D, ゞ U+309E, ヽ U+30FD, ヾ U+30FE
Разрывы между неразделимыми символами (например, ‥ U+2025, … U+2026), т. е. символы из класса разрыва строки Unicode IN
Разрывы перед определенными центрированными знаками препинания:
・ U+30FB, : U+FF1A, ; U+FF1B, ・ U+FF65, ‼ U+203C, ⁇ U+2047, ⁈ U+2048, ⁉ U+2049, ! U+ FF01, ? U+FF1F
Разрывы перед суффиксами: символы с классом разрыва строки Unicode PO и свойством ширины Ambiguous, Fullwidth или Wide.
Разрывы после префиксов: символы с классом разрыва строки Unicode PR и свойством ширины Ambiguous, Fullwidth или Wide.