white-space
Baseline Широко распространённый
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Попробовать
Это свойство задаёт два параметра:
- Сжимается ли и как сжимается пробел.
- Перенос строк — включён или нет и как.
Примечание: Чтобы слова ломались внутри себя, используйте 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 |
|---|---|
| Применимо к | всем элементам |
| Наследуется | да |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
Базовый пример
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