W3docs

Свойство CSS line-break

Свойство CSS line-break задаёт правила переноса строк в CJK-тексте. Описание, значения и примеры.

Свойство CSS line-break управляет тем, как происходят переносы строк в тексте на китайском, японском и корейском (CJK) языках, когда перенос приходится рядом со знаками препинания или символами. CJK-скрипты переносятся иначе, чем латинский текст: между словами нет пробелов, поэтому строка может переноситься практически в любом месте между символами. Ключевой вопрос — какие символы допустимо ставить в начало или конец строки. Определённые знаки препинания — например, малые кана (, ), знаки итерации или закрывающие скобки — не должны оказываться в одиночестве в начале строки, и именно line-break определяет, насколько строго браузер соблюдает эти правила.

Данное свойство влияет только на CJK-текст. Для латиницы, кириллицы и других скриптов с разделением словами пробелами оно не даёт видимого эффекта; для них обычно используют word-break, overflow-wrap или hyphens.

Когда применять

Используйте line-break, когда вёрстка содержит CJK-контент и требуется точный контроль над местами переноса строк:

  • strict — для формальных или «печатных» макетов, где нужны самые строгие, консервативные правила переноса.
  • normal / loose — для узких колонок (мобильные экраны, боковые панели), где перенос в большем числе мест предотвращает нежелательное переполнение.
  • auto — браузер самостоятельно выбирает разумное значение по умолчанию. Именно это значение используется, если свойство не задано.

Если текст не является CJK, свойство не оказывает никакого полезного эффекта — смотрите связанные свойства выше.

Начальное значениеauto
Применяется кВсем элементам, но только к блочным контейнерам.
НаследуетсяДа.
АнимируетсяНет.
ВерсияCSS3
DOM-синтаксисobject.style.lineBreak = "loose";

Синтаксис

Синтаксис свойства CSS line-break

line-break: auto | loose | normal | strict | anywhere | initial | inherit;

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

Примеры

Значение strict

При значении strict браузер применяет наиболее строгий набор правил переноса строк для CJK-текста, удерживая знаки препинания рядом с соседними символами.

<!DOCTYPE html>
<html>
  <head>
    <style>
      .korean {
        line-break: strict;
      }
    </style>
  </head>
  <body>
    <h2>Line-break property example</h2>
    <!--Be the change you want to see in the world.-->
    <span class="korean">세상에서 보고싶은 변화가 있다면 당신 스스로 그 변화가 되어라.</span>
  </body>
</html>

Результат

CSS line-break Property

Значение normal

При значении normal браузер использует наименее строгие правила переноса по умолчанию, поэтому тот же текст может переноситься в большем количестве мест. Это удобно, когда колонка узкая и значение strict приводило бы к переполнению.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        font-size: 16px;
        line-height: 24px;
        line-break: normal;
      }
    </style>
  </head>
  <body>
    <h2>Line-break property example</h2>
    <p>日本語のテキスト例です。行の折り返し位置を確認します。日本語のテキスト例です。行の折り返し位置を確認します。日本語のテキスト例です。行の折り返し位置を確認します。</p>
  </body>
</html>

Значения

ЗначениеОписание
autoПереносит текст по правилам браузера по умолчанию. Это начальное значение свойства.
looseИспользует наименее строгие правила переноса строк. Часто применяется для коротких строк, например в колонках газетного стиля.
normalИспользует наиболее распространённые правила переноса строк.
strictИспользует самые строгие правила переноса строк, удерживая знаки препинания рядом с соседними символами.
anywhereПеренос допустим между любыми двумя типографскими символами. Ограниченная поддержка браузерами.
initialУстанавливает свойство в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Поддержка браузерами

Ключевые слова auto, loose, normal и strict поддерживаются во всех современных браузерах. Ключевое слово anywhere является более новым и пока поддерживается не везде, поэтому при его использовании стоит предусмотреть запасной вариант (например overflow-wrap: break-word).

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

  • word-break — управляет возможностью разрыва слов внутри, в том числе для CJK и других текстов.
  • overflow-wrap — позволяет длинным неразрывным строкам переноситься для предотвращения переполнения.
  • hyphens — добавляет расстановку переносов для языков, которые её используют.
  • white-space — управляет обработкой пробельных символов и переносами строк в целом.

Практика

Практика
Какие из следующих способов можно использовать для вставки переноса строки в CSS?
Какие из следующих способов можно использовать для вставки переноса строки в CSS?
Was this page helpful?