Spec-Zone.ru › CSS

white-space

Baseline Широко распространённый

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство white-space CSS определяет, как обрабатывается пробел внутри элемента.

Попробовать

Это свойство задаёт два параметра:

  • Сжимается ли и как сжимается пробел.
  • Перенос строк — включён или нет и как.

Примечание: Чтобы слова ломались внутри себя, используйте overflow-wrap, word-break или hyphens.

Синтаксис

/* Single keyword values */
white-space: normal;
white-space: nowrap;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;
white-space: break-spaces;

/* white-space-collapse and text-wrap shorthand values */
white-space: collapse balance;
white-space: preserve nowrap;

/* Global values */
white-space: inherit;
white-space: initial;
white-space: revert;
white-space: revert-layer;
white-space: unset;

Значения

white-space значения могут быть заданы как одно ключевое слово из списка ниже или как два значения, представляющие сокращение для свойств white-space-collapse и text-wrap.

normal

Последовательности пробелов сжимаются. Символы новой строки в исходном коде обрабатываются так же, как и другие пробелы. Строки разбиваются по необходимости для заполнения блоков строк.

nowrap

Сжимает пробелы, как и значение normal, но подавляет разрывы строк (перенос текста) в исходном коде.

pre

Последовательности пробелов сохраняются. Строки разбиваются только по символам новой строки в исходном коде и на элементах <br>.

pre-wrap

Последовательности пробелов сохраняются. Строки разбиваются по символам новой строки, элементам <br> и по необходимости для заполнения блоков строк.

pre-line

Последовательности пробелов сжимаются. Строки разбиваются по символам новой строки, элементам <br> и по необходимости для заполнения блоков строк.

break-spaces

Поведение идентично pre-wrap, за исключением:

  • Любая последовательность сохраняемых пробелов всегда занимает место, включая в конце строки.
  • Возможность разрыва строки существует после каждого сохраняемого символа пробела, включая между символами пробела.
  • Такие сохранённые пробелы занимают место и не висят, тем самым влияя на внутренние размеры бокса (min-content размер и max-content размер).

В следующей таблице обобщается поведение различных white-space ключевых слов:

Новые строки Пробелы и табуляции Перенос текста Пробелы в конце строки Другие разделители пробелов в конце строки
normal Сжимать Сжимать Переносить Удалить Подвешивать
nowrap Сжимать Сжимать Без переноса Удалить Подвешивать
pre Сохранить Сохранить Без переноса Сохранить Без переноса
pre-wrap Сохранить Сохранить Переносить Подвешивать Подвешивать
pre-line Сохранить Сжимать Переносить Удалить Подвешивать
break-spaces Сохранить Сохранить Переносить Переносить Переносить

Табуляция по умолчанию равна 8 пробелам и может быть настроена с помощью свойства tab-size. В случае значений normal, nowrap, и pre-line каждая табуляция преобразуется в символ пробела (U+0020).

Примечание: Существует различие между пробелами и другими разделителями пробелов. Они определены следующим образом:

пробелы

Пробелы (U+0020), табуляции (U+0009) и разрывы строк (например, новые строки).

другие разделители пробелов

Все остальные разделители пробелов, определённые в Unicode, кроме уже определённых как пробелы.

Где пробел, как говорят, подвешен, это может повлиять на размер бокса при измерении для внутреннего размера.

Сжатие пробелов

Страница свойства white-space-collapse описывает алгоритм браузера для сжатия пробелов.

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

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

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

white-space = 
normal |
pre |
nowrap |
pre-wrap |
break-spaces |
pre-line

Примеры

Базовый пример

code {
  white-space: pre;
}

Разрывы строк внутри элементов <pre>

pre {
  white-space: pre-wrap;
}

В действии

Управление переносом строк в таблицах

HTML

<table>
  <tr>
    <td></td>
    <td>Very long content that splits</td>
    <td class="nw">Very long content that don't split</td>
  </tr>
  <tr>
    <td class="nw">white-space:</td>
    <td>normal</td>
    <td>nowrap</td>
  </tr>
</table>

CSS

table {
  border-collapse: collapse;
  border: solid black 1px;
  width: 250px;
  height: 150px;
}
td {
  border: solid 1px black;
  text-align: center;
}
.nw {
  white-space: nowrap;
}

Результат

Несколько строк в элементе SVG text

Свойство white-space CSS может использоваться для создания нескольких строк в элементе <text>, который по умолчанию не переносит строки.

HTML

Текст внутри элемента <text> нужно разделить на несколько строк, чтобы новые строки были обнаружены. После первой строки у остальных нужно удалить пробелы.

<svg viewBox="0 0 320 150">
  <text y="20" x="10">Here is an English paragraph
that is broken into multiple lines
in the source code so that it can
be more easily read and edited
in a text editor.
  </text>
</svg>

CSS

text {
  white-space: break-spaces;
}

Результат

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

Спецификация
CSS Text Module Level 3
# white-space-property

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
white-space 1 12 1 4 1 18 4 10.1 1 1.0 4.4
break-spaces 76 79 69 62 13.1 76 79 54 13.4 12.0 76
normal 1 12 1 15 1 18 4 14 1 1.0 4.4
nowrap 1 12 1 4 1 18 4 10.1 1 1.0 4.4
pre 1 12 1 4 1 18 4 14 1 1.0 37
pre-line 1 12 3.5 9.5 3 18 4 14 1 1.0 37
pre-wrap 1 12 31–3.6 8 3 18 4 14 1 1.0 37
shorthand_values
114Принимает сокращенные значения для white-space-collapse и text-wrap только.
114Принимает сокращенные значения для white-space-collapse и text-wrap только.
Нет
100Принимает сокращенные значения для white-space-collapse и text-wrap только.
Нет
114Принимает сокращенные значения для white-space-collapse и text-wrap только.
Нет
76Принимает сокращенные значения для white-space-collapse и text-wrap только.
Нет
23.0Принимает сокращенные значения для white-space-collapse и text-wrap только.
114Принимает сокращенные значения для white-space-collapse и text-wrap только.
svg_elements Нет 12–79 36 Нет Нет Нет 36 Нет Нет Нет Нет
textarea_support 1 12 36 4 1 18 36 14 1 1.0 37

См. также

  • Свойства, определяющие, как слова разделяются внутри себя: overflow-wrap, word-break, hyphens
  • tab-size

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/white-space

Spec-Zone.ru

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