white-space | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | ||||
6.0+ | 8.0+ | 1.0+ | 4.0+ | 9.5+ | 1.0+ | 3.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Свойство white-space устанавливает, как отображать пробелы между словами. В обычных условиях любое количество пробелов в коде HTML показывается на веб-странице как один. Исключением является тег <pre>, помещенный в этот контейнер текст выводится со всеми пробелами, как он был отформатирован пользователем. Таким образом, white-space имитирует работу тега <pre>, но в отличие от него не меняет шрифт на моноширинный.
Синтаксис
white-space: normal | nowrap | pre | pre-line | pre-wrap | inherit
Значения
- normal
- Текст в окне браузера выводится как обычно, переносы строк устанавливаются автоматически.
- nowrap
- Пробелы не учитываются, переносы строк в коде HTML игнорируются, весь текст отображается одной строкой; вместе с тем, добавление тега <br> переносит текст на новую строку.
- pre
- Текст показывается с учетом всех пробелов и переносов, как они были добавлены разработчиком в коде HTML. Если строка получается слишком длинной и не помещается в окне браузера, то будет добавлена горизонтальная полоса прокрутки.
- pre-line
- В тексте пробелы не учитываются, текст автоматически переносится на следующую строку, если он не помещается в заданную область.
- pre-wrap
- В тексте сохраняются все пробелы и переносы, однако если строка по ширине не помещается в заданную область, то текст автоматически будет перенесен на следующую строку.
- inherit
- Наследует значение родителя.
Действие значений на текст представлено в табл. 1.
Значение | Перенос текста | Пробелы |
---|---|---|
normal | Переносится | Не учитываются |
nowrap | Не переносится | Не учитываются |
pre | Не переносится | Учитываются |
pre-line | Переносится | Не учитываются |
pre-wrap | Переносится | Учитываются |
Пример
HTML5CSS2. 1IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>white-space</title> <style> .example { border: 1px dashed #634f36; /* Параметры рамки */ background: #fffff5; /* Цвет фона */ font-family: "Courier New", Courier, monospace; /* Семейство шрифта */ padding: 7px; /* Поля вокруг текста */ margin: 0 0 1em; /* Отступы */ white-space: pre; /* Учитываются все пробелы и переносы */ } .exampleTitle { border: 1px solid black; /* Параметры рамки */ border-bottom: none; /* Убираем линию снизу */ padding: 3px; /* Поля вокруг текста */ display: inline; /* Отображать как встроенный элемент */ background: #efecdf; /* Цвет фона */ font-weight: bold; /* Жирное начертание */ font-size: 90%; /* Размер шрифта */ margin: 0; /* Убираем отступы */ white-space: nowrap; /* Переносов в тексте нет */ } </style> </head> <body> <p>Пример</p> <p> <html> <body> <b>Великая теорема Ферма</b><br> <i>X <sup><small>n</small></sup> + Y <sup><small>n</small></sup> = Z <sup><small>n</small></sup></i><br> где n - целое число > 2 </body> </html> </p> </body> </html>
Результат данного примера показан на рис. 1.
Рис. 1. Применение свойства white-space
Объектная модель
[window.]document.getElementById(«elementID»).style.whiteSpace
Браузеры
Браузер Internet Explorer до версии 7.0 включительно не поддерживает значения pre-line, pre-wrap и inherit. Для <textarea> значения normal и pre ведут себя как pre-wrap, а значение nowrap ведет себя как pre-line.
Opera до версии 9.5 не поддерживает значение pre-line. Для <textarea> значения normal и pre ведут себя как pre-wrap, а значение nowrap ведет себя как pre-line.
Safari до версии 3.0 и iOS не поддерживают значения pre-wrap и pre-line.
Firefox до версии 2.0 включительно не поддерживает значения pre-line и pre-wrap. Для <textarea> значения normal, nowrap, и pre воспринимаются как pre-wrap.
Почему этот CSS nowrap не работает?
Я пытаюсь удержать div bar_top_container от обертывания его содержимого независимо от того, насколько широка страница (т. е. оба выбора должны всегда появляться на одной и той же строке), это не работает, однако, когда ширина страницы слишком мала для того, чтобы они оба поместились на одной строке, как я могу это исправить?
Стили:
#bar_top_container { position: relative; white-space: nowrap; }
#bar_top_block { float: left; padding-left: 10px; padding-right: 10px; border-right: 1px solid #4965BB; }
#clear { clear: both; }
HTML:
html css<div> <div> <span>select1: </span> <select><option value="asdf">asdf</option></select> </div> <div> <span>asdf: </span> <select><option value="blah">-- select action --</option></select> </div> <div></div> </div>
Поделиться Источник user318747 30 июня 2010 в 15:01
3 ответа
- Почему этот вложенный код css не работает?
Если у меня есть что-то вроде приведенного ниже кода, я бы ожидал, что моя ссылка будет красного цвета с большими шрифтами, однако она не работает. .footer { text-align: center; } .footer a { color: red; font-size: 32px; } Живой пример: http://jsfiddle.net/avUT4 / Я не понимаю. Я не очень хорошо…
- CSS white-space nowrap IE терпит неудачу, но работает Firefox/Chrome
Я никак не могу понять, в чем дело. В firefox/chrome я могу успешно использовать nowrap и overflow-x, но не в IE. Вот соответствующий блок кода для отключения обертывания… #code_block { background: #A9A9A9; padding: 3px 3px; white-space: nowrap; overflow-x: auto; font-family: Courier New, Lucida…
17
Вы можете иметь как block
, так и inline
свойств для элемента, если вы отображаете его как … inline-block
!
Вот ваш код исправлен и работает:
span.bold являются
label
slabel
связан со своим элементомform
с помощью атрибутовfor
/id
bar_top_block
is anid
used twice. Should be aclass
нет необходимости в
float: left;
, так как используетсяdisplay: inline-block;
таким образом, нет необходимости в элементе очистки
элементы
.bar_top_block
также отображаются в строке, поэтому любой whitespace между ними отображается как whitespace. Чтобы избежать этого, я добавил комментарий, который избегает любого whitespace, хотя по-прежнему позволяет читать код HTML. Текст внутри — «no whitespace«, поэтому разработчик будет знать, что этот комментарий существует по какой-то причине и не должен быть удален 🙂вы можете удалить
width
наbody
, это просто здесь для примеравы можете играть со свойством
overflow
в контейнерепоскольку IE7 и ниже не понимают значения
inline-block
для блочных элементов, таких как div, вы должны использоватьdisplay: inline
и присвоить элементу hasLayout , например,zoom: 1;
- лучший способ нацелиться на IE7 и ниже и только на эти браузеры-с условным комментарием
Я добавил поддержку Fx2, но это просто по историческим причинам 🙂 .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Stack Overflow 3150509 - Felipe</title> <style type="text/css"> body { width: 300px; } #bar_top_container { overflow: auto; white-space: nowrap; border: 1px solid red; } .bar_top_block { display: -moz-inline-stack; /* Fx2, if you've to support this ooold browser. You should verify that you can still click in the elements, there is a known bug with Fx2 */ display: inline-block; padding-left: 10px; padding-right: 10px; border-right: 1px solid #4965BB; } </style> <!--[if lte IE 7]><style type="text/css"> .bar_top_block { display: inline; zoom: 1; } </style> <![endif]--> </head> <body> <form method="post" action="#"> <div> <label for="select1">Obviously I am a label: </label> <select><option value="asdf">asdf</option></select> </div><!-- no whitespace --><div> <label for="select2">I'm a label too and I need a for attribute: </label> <select><option value="blah">-- select action --</option></select> </div> </form> </body> </html>
Поделиться FelipeAls 30 июня 2010 в 17:38
3
Перенос плавающих элементов как white-space: nowrap
не работает для блочных элементов, а только для встроенных элементов и текста.
Поделиться jantimon 30 июня 2010 в 15:03
-1
Я предлагаю использовать допустимую форму использования:
<form>
<label>select1: <select><option value="asdf">asdf</option></select></label>
<label>asdf: <select><option value="blah">-- select action --</option></select></label>
</form>
Надеюсь, это поможет.
Поделиться Slavik Meltser 20 декабря 2012 в 15:53
- html table пробел: nowrap не работает?
У меня есть шаблон KnockoutJS, который создает input[type=text] и select рядом друг с другом без <br/> между ними. Однако это ставит разрыв линии между даже с white-space: nowrap; я в настоящее время тестирую в chrome. CSS : table. grid tbody tr td { padding: 0px 0px 0px 0px; margin: 0px 0px…
- CSS переход с nowrap не является гладким
Я пытаюсь разрешить CSS переход боковой панели, лучше всего описанный как это изображение: В то время как в одной строке {white-space: nowrap} работает великолепно, у меня возникают проблемы с обеспечением плавной анимации свернутой боковой панели, поскольку линии, кажется, ломаются….
Похожие вопросы:
CSS: IE: пробел: nowrap не работает
Т. е. не реагирует должным образом, чтобы без переноса атрибута CSS. Вопрос: Как сделать так, чтобы это работало в IE, чтобы оно отображалось как результат рендеринга Chrome?…
Почему этот css не работает на Firefox?
Я пытаюсь изменить стиль моего файла входного типа. Следующий CSS хорошо работает на Chrome и Opera, но не на Mozilla Firefox. HTML <input type=file class=custom-file-input /> CSS. ..
Firefox CSS проблема nowrap
Я пытаюсь создать горизонтальный (без разрывов строк) неупорядоченный список изображений на моем сайте, используя следующий код: <ul class=ImageSet> <li> <img src=blah> </li>…
Почему этот вложенный код css не работает?
Если у меня есть что-то вроде приведенного ниже кода, я бы ожидал, что моя ссылка будет красного цвета с большими шрифтами, однако она не работает. .footer { text-align: center; } .footer a { color:…
CSS white-space nowrap IE терпит неудачу, но работает Firefox/Chrome
Я никак не могу понять, в чем дело. В firefox/chrome я могу успешно использовать nowrap и overflow-x, но не в IE. Вот соответствующий блок кода для отключения обертывания… #code_block {…
html table пробел: nowrap не работает?
У меня есть шаблон KnockoutJS, который создает input[type=text] и select рядом друг с другом без <br/> между ними. Однако это ставит разрыв линии между даже с white-space: nowrap; я в…
CSS переход с nowrap не является гладким
Я пытаюсь разрешить CSS переход боковой панели, лучше всего описанный как это изображение: В то время как в одной строке {white-space: nowrap} работает великолепно, у меня возникают проблемы с…
CSS «Nowrap» не работает должным образом
В настоящее время я создаю шаблон email. Шаблон содержит USP-Е, которые выстроены рядом друг с другом. Это код, который я использую: <td width=100%> <span style=white-space: nowrap;>…
опция noWrap на tilelayer работает только частично
Чтобы предотвратить многократное дублирование карт мира на самом высоком уровне масштабирования, я использую опцию noWrap=true . Он работает хорошо, но только на левой стороне карты (серая область),…
Flexbox «nowrap» значение не работает
Это тот раздел моего кода, который не работает: . copyright { display: flex; flex-wrap: nowrap; /* This is not working */ color: red; } <link rel=stylesheet…
Поговорим о свойстве white-space | CSS-Tricks по-русски
Поговорим о свойстве white-space
В CSS есть такое полезное свойство, как white-space, которое остаётся без внимания у начинающих верстальщиков. Возможно, вы обходились без него довольно долго, но однажды узнав, что это такое, и как его использовать, вы поймёте как много вы потеряли.
В этой статье я постараюсь описать, в чём разница между различными значениями свойства и как они могут быть использованы.
Немного об HTML.
В HTML, всякий раз когда вы оставляете подряд несколько пробелов (табов или переводов строки), браузер, по умолчанию, будет выводить их как один единственный пробел. Такое поведение позволяет браузеру отделять и размещать элементы наиболее удобным для прочтения способом.
Если вы хотите чтобы все ваши пробелы и переводы строк отображались как в исходном HTML, то вам необходимо использовать тег pre, всё содержимое которого будет отображаться в соответствии с исходным кодом страницы.
Кроме того, можно воспользоваться неразрывным пробелом ( ), в случае, если вам необходимо, чтобы строки не «схлопывались». Также, в предыдущих версиях HTML был тег nobr для таких целей. Сейчас этот тег не рекомендуется к использованию.
Свойство white-space — это шаг к семантически чистому HTML. Вы можете настроить обработку браузером пробелов, используя CSS.
Определение и возможные значения.
Свойство white-space предназначено для определения поведения браузера при обработке множественных пробелов и переводов строк. Конечно, обрабатываемая часть документа ограничивается CSS-селектором.
Ниже перечислены допустимые значения свойства с описанием каждого из них:
white-space: normal
Значение по умолчанию. Если оно установлено явно, то результатом будет обычный вывод, без использования тега pre. Как и в случае с большинством CSS-свойств, существует только одна причина использовать это значение, когда вы установили это свойство где-либо выше по иерархии свойств или элементов, для того чтобы вернуть обычное поведение элемента.
Повторяющиеся пробелы и разрывы строк игнорируются, для того чтобы наиболее естественно отобразить текст.
white-space: nowrap
Это наиболее используемое значение свойства, поскольку оно делает поведение браузера точно таким же, как и в случае со значением normal, за исключением того, что подавляются разрывы строк, даже в тех случаях когда выводимый текст получается шире чем контейнер для вывода.
Элемент, для которого значение свойства установлено как nowrap, не позволяет тексту и другим inline-элементам переносится естественным образом на новую строку. Вместо этого он продолжает вывод за своими границами, до тех пор, пока текст не закончится, оставляя его на одной линии. Это значение не оказывает никакого эффекта на повторяющиеся пробелы между словами, они по-прежнему «схлопываются» в один, как обычно.
Повторяющиеся пробелы игнорируются, переводы строк не используются, даже если текст не помещается в строке.
white-space: pre
Это значение работает именно так, как ожидается: точно также, как и содержимое тега pre. Все пробелы и переводы строк выводятся точно также как и в исходном HTML. Если какая-нибудь строка шире, чем её родитель, то она не будет разрываться, а будет выводится как одна строка.
Повторяющиеся пробелы и переводы строк выводятся так же как и в исходной разметке, естественные переводы строк не работают.
white-space: pre-line
Это свойство работает также как и normal, за исключением одного момента: переводы строк в исходной разметке являются значимыми. Таким образом, если в разметке между словами несколько пробелом, они будут проигнорированы как обычно, однако, если в разметке встречается перевод строки, при выводе, текст также будет перенесён на новую строку. Это значение не поддерживается в Internet Explorer до 7-ой версии, FireFox до 3-ей версии и Opera до версии 9.2.
Повторяющиеся пробелы игнорируются, переводы строк обрабатываюся.
white-space: pre-wrap
Это значение определяет такое же поведение как и значение pre, за тем исключением что строка переносится в соответствии с границами родительского элемента. Таким образом, текст будет переносится на новую строку, как это было бы при значении normal, а также будут считываться множественные пробелы и переводы строк исходного HTML. Это свойство не поддерживается в Internet Explorer до версии 7, а также FireFox до версии 3.
Обрабатываюся повторяющиеся пробелы и явные переводы строк, а также естественные переводы строк.
Варианты использования
Возможно, наиболее частый случай использования свойства white-space — это применение его к ссылке, которую вы не хотите переносить на новую строку.
На показанном скриншоте, ссылка «Read more »» кавычка (») перенеслась на новую строку, поскольку ей не хватило места. Этого можно избежать применив к ссылке значение nowrap. В этом случае ссылка будет перенесена на новую строку целиком, как неразрывный элемент. Обратите внимание, что свойство white-space было применено только к содержимому элемента. Поэтому ссылка и была перенесена на новую строку целиком. Текст внутри неё — неразрывен.
Заблуждения
У новичков вёрстки часто возникает недопонимание при использовании white-space: nowrap, в случае если они применяют его к inline-элементу и ожидают что он не будет переносится на новую строку. Стоит запомнить, что свойство применяется только к inline-элементам, которые находятся внутри элемента, к которому его применили, а также не оказывают никакого эффекта на блочные элементы и отступы между ними.
CSS white-space
Пример
Демонстрация различных значений свойства «white-space»:
p.a {white-space: nowrap;
}
p.b {
white-space: normal;
}
p.c {
white-space:
pre;
}
Определение и использование
Свойство white-space
указывает, как обрабатываются пробелы внутри элемента.
Значение по умолчанию: | normal |
---|---|
Inherited: | yes |
Animatable: | no. Читайте о animatable |
Version: | CSS1 |
Синтаксис JavaScript: | object. style.whiteSpace=»nowrap» |
Поддержка браузера
Номера в таблице указывают первую версию браузера, которая полностью поддерживает свойство.
Свойство | |||||
---|---|---|---|---|---|
white-space | 1.0 | 8.0 | 3.5 | 3.0 | 9.5 |
Синтаксис CSS
white-space: normal|nowrap|pre|pre-line|pre-wrap|initial|inherit;
Значения свойств
Значение | Описание | |
---|---|---|
normal | Последовательности пробелов будут свернуты в один пробел. Текст будет обернут при необходимости. Это значение по умолчанию | |
nowrap | Последовательности пробелов будут свернуты в один пробел. Текст никогда не будет переноситься на следующую строку. Текст продолжается в той же строке до тех пор, пока не будет обнаружен тег <br> | |
pre | Пробелы сохраняются обозревателем. Текст будет только обернуть на разрывы строк. Действует как тег <PRE> в HTML | |
pre-line | Последовательности пробелов будут свернуты в один пробел. Текст будет переноситься при необходимости, а на разрыв строки | |
pre-wrap | Пробелы сохраняются обозревателем. Текст будет переноситься при необходимости, а на разрыв строки | |
initial | Присваивает этому свойству значение по умолчанию. (Читайте о initial) | |
inherit | Наследует это свойство из родительского элемента. (Читайте о inherit) |
Похожие страницы
CSS Справочник: CSS Text
HTML DOM Справочник: whiteSpace Свойство
css — Проблема с nowrap и max-width на абсолютно позиционированном элементе
Я не совсем уверен, какова ваша цель, потому что происходит много противоречивых вещей. Но я постараюсь и, надеюсь, вы сможете направить меня к желаемому решению:
https://jsfiddle. net/q7dyf6xh/
.wrapper {
position: relative;
display: run-in;
}
.info {
position: absolute;
max-width: 200px;
white-space: pre-line;
}
Посмотрите на эту скрипку, поскольку вы можете видеть, что всплывающая подсказка теперь имеет максимальную ширину. Посмотрите, что я использую:
display: run-in;
: отображает элемент в виде блока или встроенного в зависимости от контекста
white-space: pre-line;
: последовательности пробелов будут свернуты в один пробел. Текст будет переноситься по мере необходимости и разрывов строк
Для лучшего понимания того, как все работает, смотрите здесь:
пробел : если вы используете nowrap , текст никогда не будет переноситься на следующая строка Текст продолжается в той же строке, пока не встретится тег!
Это сказало, что ваш max-width
все еще работает, но с nowrap вы переполняете ваш элемент сейчас. Попробуйте дать своему элементу background-color
, и вы увидите, что он на самом деле имеет такую же ширину, как ваш max-width
.
Посмотрите здесь, как он переполняет элемент: https://jsfiddle.net/fcnh2qeo/
И теперь ширина overflow: hidden
будет отображаться только текст внутри вашего поля. Все остальное отрезано! Смотрите здесь: https://jsfiddle.net/0qn4wxkg/
Теперь я использовал display: run-in;
и white-space: pre-line;
, а также max-width: 200px
, который, надеюсь, даст вам желаемое решение. Не зная контекст и код, который вы используете, это скорее предположение, чем ответ. Но, может быть, я могу помочь вам найти решение, которое соответствует вашим потребностям
Ура!
Свойство flex-wrap — многострочная расстановка блоков по главной оси
Свойство flex-wrap задает многострочную расстановку блоков по главной оси.
Применяется к родительскому элементу для flex блоков. Входит в свойство-сокращение flex-flow.
Синтаксис
селектор {
flex-wrap: nowrap | wrap | wrap-reverse;
}
Значения
Значение | Описание |
---|---|
nowrap | Однострочный режим — блоки выстраиваются в одну строку. |
wrap | Блоки выстраиваются в несколько строк, если не помещаются в одну. |
wrap-reverse | То же самое, что и wrap, но блоки выстраиваются в другом порядке (сначала последний, потом первый). |
Значение по умолчанию: nowrap.
Пример . Значение wrap
Сейчас блоки не помещаются в свой контейнер и выстроятся в несколько строк:
<div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
#parent {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-between;
border: 1px solid #696989;
height: 200px;
width: 330px;
margin: auto;
}
#parent > div {
width: 100px;
height: 50px;
border: 1px solid #696989;
}
:
Пример .
Значение wrap-reverseА теперь порядок следования поменяется на обратный (смотрите на цифры внутри блоков):
<div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
#parent {
display: flex;
flex-wrap: wrap-reverse;
flex-direction: row;
justify-content: space-between;
border: 1px solid #696989;
height: 200px;
width: 330px;
margin: auto;
}
#parent > div {
width: 100px;
height: 50px;
border: 1px solid #696989;
}
:
Пример . Значение nowrap
Сейчас блоки будут располагаться в однострочном режиме (так по умолчанию). При этом значение ширины width для блоков будет проигнорировано, если оно мешает блокам помещаться в родителя. Обратите внимание на то, что блоки поместились в родителя, но их реальная ширина не 100px, как им задано, а меньше:
<div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
#parent {
display: flex;
flex-wrap: nowrap;
flex-direction: row;
justify-content: space-between;
border: 1px solid #696989;
height: 200px;
width: 330px;
margin: auto;
}
#parent > div {
width: 100px;
height: 50px;
border: 1px solid #696989;
}
:
Пример . Значение nowrap
Однако, если блоки помещаются при заданной им ширине — то свойство width не будет проигнорировано. Уменьшим количество блоков так, чтобы они все влезли:
<div>
<div>1</div>
<div>2</div>
<div>3</div>
</div>
#parent {
display: flex;
flex-wrap: nowrap;
flex-direction: row;
justify-content: space-between;
border: 1px solid #696989;
height: 200px;
width: 330px;
margin: auto;
}
#parent > div {
width: 100px;
height: 50px;
border: 1px solid #696989;
}
:
Смотрите также
- свойство flex-direction,
которое задает направление осей flex блоков - свойство justify-content,
которое задает выравнивание по главной оси - свойство align-items,
которое задает выравнивание по поперечной оси - свойство flex-wrap,
которое многострочность flex блоков - свойство flex-flow,
сокращение для flex-direction и flex-wrap - свойство order,
которое задает порядок flex блоков - свойство align-self,
которое задает выравнивание одного блока - свойство flex-basis,
которое задает размер конкретного flex блока - свойство flex-grow,
которое задает жадность flex блоков - свойство flex-shrink,
которое задает сжимаемость flex блоков - свойство flex,
сокращение для flex-grow, flex-shrink и flex-basis
Шпаргалка по Flexbox CSS | Типичный верстальщик
Свойство align-content задаёт тип выравнивания строк внутри flex контейнера по поперечной оси при наличии свободного пространства.
Применяется к: flex контейнеру.
Значение по умолчанию: stretch.
- flex-start
- Строки располагаются в начале поперечной оси. Каждая следующая строка идёт вровень с предыдущей.
- flex-end
- Строки располагаются начиная с конца поперечной оси. Каждая предыдущая строка идёт вровень со следующей.
- center
- Строки располагаются по центру контейнера.
- space-between
- Строки равномерно распределяются в контейнере и расстояние между ними одинаково.
- space-around
- Строки равномерно распределяются таким образом, чтобы пространство между двумя соседними строками было одинаковым. Пустое пространство перед первой строкой и после последней строки равно половине пространства между двумя соседними строками.
- space-evenly
- Строки распределяются равномерно. Пустое пространство перед первой строкой и после последней строки имеет ту же ширину, что и у других строк.
- stretch
- Строки равномерно растягиваются, заполняя свободное пространство.
The align-content property aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how justify-content aligns individual items within the main-axis. Note, this property has no effect on a single-line flex container. Values have the following meanings:
Note: Only multi-line flex containers ever have free space in the cross-axis for lines to be aligned in, because in a single-line flex container the sole line automatically stretches to fill the space.
Applies to: flex containers.
Initial: stretch.
- flex-start
- Lines are packed toward the start of the flex container. The cross-start edge of the first line in the flex container is placed flush with the cross-start edge of the flex container, and each subsequent line is placed flush with the preceding line.
- flex-end
- Lines are packed toward the end of the flex container. The cross-end edge of the last line is placed flush with the cross-end edge of the flex container, and each preceding line is placed flush with the subsequent line.
- center
- Lines are packed toward the center of the flex container. The lines in the flex container are placed flush with each other and aligned in the center of the flex container, with equal amounts of space between the cross-start content edge of the flex container and the first line in the flex container, and between the cross-end content edge of the flex container and the last line in the flex container. (If the leftover free-space is negative, the lines will overflow equally in both directions.)
- space-between
- Lines are evenly distributed in the flex container. If the leftover free-space is negative this value is identical to flex-start. Otherwise, the cross-start edge of the first line in the flex container is placed flush with the cross-start content edge of the flex container, the cross-end edge of the last line in the flex container is placed flush with the cross-end content edge of the flex container, and the remaining lines in the flex container are distributed so that the spacing between any two adjacent lines is the same.
- space-around
- Lines are evenly distributed in the flex container, with half-size spaces on either end. If the leftover free-space is negative this value is identical to center. Otherwise, the lines in the flex container are distributed such that the spacing between any two adjacent lines is the same, and the spacing between the first/last lines and the flex container edges is half the size of the spacing between flex lines.
- space-evenly
- Lines are evenly distributed in the flex container. If the leftover free-space is negative this value is identical to center. Otherwise, the lines in the flex container are distributed such that the spacing between every flex line is the same.
- stretch
- Lines stretch to take up the remaining space. If the leftover free-space is negative, this value is identical to flex-start. Otherwise, the free-space is split equally between all of the lines, increasing their cross size.
html — Как исправить CSS «White-space: nowrap» в таблице?
html — Как исправить CSS «White-space: nowrap» в таблице? — Переполнение стекаПрисоединяйтесь к Stack Overflow , чтобы учиться, делиться знаниями и строить свою карьеру.
Спросил
Просмотрено 14к раз
На этот вопрос уже есть ответы здесь :
Закрыт 2 года назад.
Я хотел бы показать многоточие при переполнении текста, если описание слишком длинное для столбца. Однако я не уверен, почему мой код не работает. Я добавил! Это важно в случае, если есть какие-то внутренние файлы CSS, которые могли переопределять мой материал CSS. Прямо сейчас весь текст добавлен в одну строку кода в описании и имеет ширину 400 пикселей. [! [Колонка описания] [1]] [1]
<таблица>
@Html.DisplayNameFor (модель => model.WorkOrderNumber)
@foreach (элемент var в модели)
{
// ЭТА СТРОКА НЕ РАБОТАЕТ
@ Html.DisplayFor (modelItem => item.Description)
так далее....
Создан 22 апр.
HJ1990HJ1990 31911 золотой знак22 серебряных знака1414 бронзовых знаков
0 Вам нужно обернуть текст внутри div
в тег td
и применить ниже css
-е>. truncate, td> .truncate {
ширина: авто;
минимальная ширина: 0;
максимальная ширина: 200 пикселей;
дисплей: встроенный блок;
переполнение: скрыто;
переполнение текста: многоточие;
белое пространство: nowrap;
}
вы можете изменить ширину по своему усмотрению
стол, тд, тыс {
граница: 1px solid #ddd;
выравнивание текста: слева;
}
Таблица {
граница-коллапс: коллапс;
ширина: 100%;
}
th, td {
отступ: 15 пикселей;
}
th> .truncate, td> .truncate {
ширина: авто;
минимальная ширина: 0;
максимальная ширина: 200 пикселей;
дисплей: встроенный блок;
переполнение: скрыто;
переполнение текста: многоточие;
белое пространство: nowrap;
}
<таблица>
Имя
Адрес
Сборы
ipsum или lipsum, как его иногда называют, представляет собой фиктивный текст, используемый при разметке печатных, графических
Lorem ipsum, или lipsum, как его иногда называют, представляет собой фиктивный текст, используемый при раскладке печатных, графических изображений.
$100
Лойс
фиктивный текст, используемый в макете печати, графики
$150
Джо
Lipsum, как это иногда называют, это фиктивный текст, используемый в макете печати, графики
$300
Создан 22 апр.
РахулРахул 4,00611 золотых знаков77 серебряных знаков1010 бронзовых знаков
0 lang-html
Stack Overflow лучше всего работает с включенным JavaScript Ваша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie
Настроить параметры
white-space — CSS: каскадные таблицы стилей
Свойство white-space
CSS устанавливает, как обрабатывается пустое пространство внутри элемента.
Свойство указывает две вещи:
- Свертывается ли белое пространство и как.
- Могут ли линии переноситься при возможности мягкого переноса.
пробел: нормальный;
белое пространство: nowrap;
белое пространство: предварительно;
белое пространство: предварительная упаковка;
пробел: перед строкой;
пробел: пробелы;
белое пространство: наследовать;
пробел: начальный;
белое пространство: вернуться;
белое пространство: отключено;
Свойство , пробел,
задается как одно ключевое слово, выбранное из списка значений ниже.
Значения
-
нормальный
- Свертываются последовательности пробелов. Символы новой строки в источнике обрабатываются так же, как и другие пробелы. Линии прерываются по мере необходимости, чтобы заполнить поля строк.
-
nowrap
- Сворачивает пустое пространство, как для
нормальный
, но подавляет разрывы строк (перенос текста) в исходном тексте. -
до
- Последовательности пробелов сохраняются. Строки прерываются только в символах новой строки в источнике и в элементах
–
. -
предварительная упаковка
- Последовательности пробелов сохраняются. Строки разрываются на символах новой строки, на
–
и по мере необходимости для заполнения строчных полей. -
предварительная линия
- Свертываются последовательности пробелов. Строки разрываются на символах новой строки, на
–
и по мере необходимости для заполнения строчных полей. -
перерыв
- Поведение идентично поведению
с предварительной оберткой
, за исключением того, что:- Любая последовательность сохраненных пробелов всегда занимает место, в том числе в конце строки.
- Возможность разрыва строки существует после каждого сохраненного символа пробела, в том числе между символами пробела.
- Такие сохраненные пространства занимают место и не свисают, и, таким образом, влияют на внутренние размеры блока (минимальный размер содержимого и максимальный размер содержимого).
В следующей таблице обобщено поведение различных значений белого пространства
:
Новые строки Пробелы и табуляторы Перенос текста Пробелы в конце строки Остальные разделители пробелов в конце строки нормальный
Свернуть Свернуть Обертка Удалить Повесить nowrap
Свернуть Свернуть Без упаковки Удалить Повесить до
Заповедник Заповедник Без упаковки Заповедник Без упаковки предварительная упаковка
Заповедник Заповедник Обертка Повесить Повесить предварительная линия
Заповедник Свернуть Обертка Удалить Повесить перерыв
Заповедник Заповедник Обертка Обертка Обертка
Банкноты
Существует различие между пробелами и другими разделителями пробелов . Они определены следующим образом:
- мест
- Пробелы (U + 0020), табуляции (U + 0009) и разрывы сегментов (например, новые строки).
- прочие разделители пространства
- Все остальные разделители пробелов, определенные в Unicode, кроме тех, которые уже определены как пробелы.
Если пустое пространство обозначается как hang , это может повлиять на размер поля при измерении внутреннего размера.
нормальный | предварительно | nowrap | предварительная упаковка | предварительная линия | пробелы
Базовый пример
код {
белое пространство: предварительно;
}
Разрывы строк внутри элементов
pre {
белое пространство: предварительная упаковка;
}
В действии
HTML
Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Conquat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.
Результат
таблицы BCD загружаются только в браузере
CSS Nowrap: свойство белого пространства
Точно так же, как люди из другого времени сохраняют старые привычки и устаревшие методы, так и программисты, работающие с CSS, иногда хотят сохранить саму кодировку кода.В CSS nowrap - одно из нескольких возможных значений свойства «пустое пространство». Если вы хотите управлять поведением разрывов строк по умолчанию, вкладок и других присущих изгибов, вы убираете старое свойство «пустое пространство» и вспоминаете. Nowrap - это наша функциональная презентация, которая подавляет «нормальный» перенос текста, но другие значения белого пространства тесно связаны, просты в использовании и, без сомнения, найдут особое место в этом старомодном сердце. Зрение не то, что раньше? Узнайте больше о макете и дизайне CSS в этом классе для всех уровней квалификации.
Свойство «Пустое пространство» позволяет точно настроить перенос элемента. Значение по умолчанию для пустого пространства является нормальным, что означает, что элемент, такой как текст абзаца, будет предсказуемо завершен стандартным выравниванием, как абзацы в этом сообщении в блоге. Текст знает, что когда он встречает другой элемент (рисунок выше), он должен перейти к следующей строке, тем самым избегая наложения. Давайте выберем пример текста для нашего абзаца. Это будет наш HTML:
Куда идет мир? Первые пишущие машинки,
потом компьютеры, теперь это?
Мы будем использовать объявление размера табуляции для определения наших вкладок:
p {
граница: 1px solid # 000000;
отступ: 4 пикселя;
ширина: 250 пикселей;
}
Довольно стандартная штука.Сейчас подходящее время для ознакомления с синтаксисом. В первом примере я покажу настройки по умолчанию (нормальные), чтобы мы могли установить точку отсчета. По определению, обычное значение сворачивает последовательности пробелов в один пробел, а текст инстинктивно переносится:
с.
{
пробел: нормальный;
}
Это почти слишком просто. Но в результате получается именно то, к чему мы привыкли: идеально обернутый текст с полями:
Пока все хорошо.Вы, наверное, заметили, что разрывы строк до и после нашего HTML-текста (то есть текст не был написан:
Когда-то…
) также были удалены, чтобы граница отображалась надлежащим образом. Это идеальная картина. Так что принесите свой костюм Уорхола и изучите искусство черно-белой фотографии. Nowrap
Далее идет наше значение заголовка, nowrap . Nowrap - это ближайшее значение белого пространства, равное по внешнему виду. - полная противоположность нормальному.Хотя последовательности пробелов по-прежнему превращаются в один пробел, текст никогда не переносится на следующую строку (никогда не говори никогда, потому что есть одно исключение: текст будет продолжаться вечно, если он не встретит тег
). Таким образом,
с.
{
белое пространство: nowrap;
}
дает следующий результат:
Действительно, странно. Еще раз обратите внимание на то, как строки прерываются до и после того, как текст (в данном случае пробел) был свернут. Свойство White Space поддерживается последними версиями всех основных браузеров, но, как и большинство свойств CSS, его значение «наследования» не поддерживается в Internet Explorer 7 и более ранних версиях, и в целом HTML в этих ранних версиях IE, как известно, содержит ошибки.Старые версии Opera и Safari также столкнутся с трудностями с двумя значениями, которые скоро будут обсуждаться: pre-wrap и pre-line .
Осталось три оставшихся значения белого пространства, которые легко понять, сравнив нормальный и nowrap .
до
Pre сохраняет пробелы, разрывы строк и табуляции, но не переносит текст. Другими словами, до точно следует исходному HTML. По определению, до больше всего напоминает полную противоположность нормального (представьте себя человеком типа до ? Что угодно, кроме нормального ? Узаконивайте себя физическим пониманием нашего странного мира). Это заставляет элемент вести себя как тег
в HTML. Pre заставляет появиться разрывы строк и пробелы, свернутые на nowrap :
На этот раз, выше и ниже текста, обратите внимание на интервал, как в нашем исходном HTML. И, как я упоминал ранее, иногда вы хотите сохранить кодировку кода; это особенно полезно для обучения. Кроме того, код и так достаточно мягкий (без обид), так что небольшое форматирование не повредит; здесь и там красивая, красочная кайма…
Предварительная упаковка
Если вам нравится все в до , за исключением того факта, что он не переносит текст (на самом деле, он добавляет разрывы строк, как вы увидите ниже), pre-wrap - мой подарок вам.Ограничьте до своим элементом:
Предварительная линия
Не можете выбрать одно из вышеперечисленных значений? Возьмите образец каждого с перед строкой . Это сохраняет разрывы строк, такие как pre и pre-wrap , сворачивает пробелы и табуляции, такие как nowrap и normal , и переносит текст, как normal и pre-wrap . Это сложный способ сказать, что pre-line - это pre-wrap без сохранения пробелов и табуляции.Посмотрите:
Сначала может быть трудно вспомнить, какое значение что делает, поэтому для удобства обратитесь к этой таблице для быстрого обзора различного поведения значений белого пространства:
Этот стол станет вашим лучшим другом. Попытка выяснить, какое значение белого пространства использовать, сравнивая изображения, может привести к ужасной путанице. Если вы прищурились, примите своего внутреннего садиста и испытайте себя с помощью CSS и HTML для мобильных устройств.Но на данный момент у вас должно быть много вещей, чтобы занять вас. Это был довольно простой пример, но, как и большинство инструментов CSS, сила находится в руках человека.
Последнее обновление страницы: январь 2014 г.
Fix Text Overlap with CSS white-space
Иногда nowrap
полезен, когда вы не хотите, чтобы текст разрывался в неудобном месте 🔗
Однако nowrap
может иногда приводить к перекрытию текста. Вы можете легко исправить это, установив для белого пространства
значение нормальное
👍
❌
Некоторый сверхдлинный текст
Некоторый текст
✅
Некоторый очень длинный текст
Некоторый текст
Почему текст перекрывается?
Давайте углубимся в вопрос, почему происходит перекрытие текста.
Некоторый сверхдлинный текст
Некоторый текст
Несмотря на то, что у нас есть nowrap
, перекрытия нет. Большой! Но давайте посмотрим, что произойдет, мы установили фиксированную ширину
на наших коробках.
Некоторый очень длинный текст
Немного текста
О нет 😱 Перекрытие на нас! Это происходит потому, что по умолчанию ширина : авто
. Это означает, что поля будут расширяться в зависимости от его содержимого. Однако, когда мы устанавливаем фиксированную ширину, мы ограничиваем ее рост. И некуда идти, текст перетекает в свое родственное поле 🤭
Решение проблемы наложения текста
Мы можем легко исправить это, изменив наш пробел
на нормальный
.
Некоторый очень длинный текст
Немного текста
Конечно, вы также можете исправить это, удалив фиксированную ширину (например, width: auto
), если вы не возражаете против расширения поля. Как лучше? Что ж, все зависит от пользовательского интерфейса, который вы хотите разработать 🙂
Пример использования
nowrap
Прежде чем вы сделаете вывод, что nowrap
бесполезен, потому что он может вызвать перекрытие.Бывают случаи, когда я хочу сохранить исходную форму текста. Потому что текст, разбивающийся на части, приведет к непреднамеренному результату, создаст неудобный пользовательский интерфейс и ухудшит взаимодействие с пользователем.
Преимущество
nowrap
для отображения кода Например, в блоках кода я не хочу, чтобы текст переносился. Перенос текста затруднит понимание моего примера кода. Вместо этого я хочу сохранить его в одной строке, а переполнение будет запускать полосу прокрутки.
белое пространство: нормальное
❌
значение && Object.keys (значение) .length === 0 && value.constructor === Объект;
белое пространство: nowrap
✅
Object.keys (значение) .length === 0 && value.constructor === Object;
Преимущество
nowrap
для ссылок Иногда, когда вы создаете «Узнать больше» или «Узнать больше», вы можете добавить курсор «» »или« ›».И вы хотите, чтобы эти тексты были вместе, потому что их разделение может привести к неудобному результату.
white-space: normal
white-space: nowrap
CSS white-space
Есть и другие значения, которые вы можете установить с помощью белого пространства
:
Я планирую охватить каждое из них в отличном подробности в будущем лакомом кусочке кода. Между тем, если вы хотите начать работу, ознакомьтесь с документами MDN: white-space 👍
Предполагать положительное намерение при работе с существующей базой кода
Итак, я заметил, что white-space: normal
является значением по умолчанию.Это означает, что такого перекрытия никогда бы не произошло, если бы мы не реализовали white-space: nowrap
. Это означает, что кто-то действительно ввел этот стиль в нашу кодовую базу 😳 Прежде чем вы получите ...
Когда вы работаете над существующей кодовой базой, мы часто сталкиваемся с кодом, который не имеет смысла. Но прежде чем переходить к git blame
😅, давайте предположим положительное намерение. Как разработчики, мы всегда стараемся планировать крайние случаи. Но часто мы ничего не узнаем, пока не запустим код и не позволим нашим пользователям начать его использовать.Очень сложно на 100% понять весь объем нашей реализации. Мы делаем все возможное, но можем упустить несколько моментов. Откровенно говоря, поэтому у разработчиков все еще есть работа. В большинстве случаев мы исправляем ошибки 🐞
Мы не должны бояться вносить изменения. Фактически, так мы прогрессируем и становимся лучше. Во время наших попыток улучшить ситуацию мы будем делать ошибки. Когда это произойдет, не крутите колеса, пытаясь обвинить вас, и не спешите с отрицательными суждениями. Мы должны проявить сочувствие к тому, что мы все пошли с наилучшими намерениями.Важно то, что нам нужно учиться на своих ошибках, быстро их исправлять и продолжать двигаться вперед 💪
@KyleDaltonSmith: text-overflow: многоточие также может помочь в правильной ситуации.
@longlho: свойство white-space имеет причуды вокруг определенных скриптов, в которых не используются пробелы, поэтому оно не на 100% i18n-безопасно.
-
Да, это довольно распространенная проблема при взаимодействии различных стандартов (CSS - W3C, JS - ECMA262, Unicode - Unicode).Если взять любое предложение на лаосском языке, например ມື້ ນີ້ ເປັນ ມື້ ທີ່ ດີ, FF и Chrome ломаются по-разному. То же самое для других CSS манипуляций с текстом, таких как верхний регистр / перенос слов / переполнение текста ...
-
Интересно также, если вы посмотрите мой твит выше в FF vs Chrome, вы уже можете увидеть разницу в переносе, когда он встречается с Лао. Многобайтовые символы, такие как zalgo, становятся еще хуже.
- @ donut87: Я всегда исхожу из позитивных намерений. Тем не менее, если я чего-то не понимаю,
git blame
- один из самых удобных инструментов.Он говорит мне, у кого спросить. Хотя название ужасное. Это не имеет ничего общего с обвинением человека в ошибке, это скорее «покажите мне, кто виноват». Я знаю людей, у которых был псевдоним git для обвинения, и они называли его похвалой
.
- @ andr3: Смешайте это с медиа-запросами, и вы получите отличное решение для отзывчивых анти-типографских сирот! 😄 Сироты и длинные очереди Мне очень нравится этот отель. Намного более мощный, чем простой
& nbsp;
объект. Люблю твое сочинение. Особенно «Предполагать позитивное намерение» в отношении устаревшего кода 😄 Действительно!
Ресурсы
CSS | Свойство white-space - GeeksforGeeks
Свойство white-space в CSS используется для управления переносом текста и пробелами. В этом свойстве можно использовать несколько типов значений.
Синтаксис:
пробел: нормальный | nowrap | pre | pre-line | pre-wrap | initial | наследовать;
Значения свойств:
- нормальный: Это значение этого свойства по умолчанию.Когда свойство white-space в CSS установлено в значение normal, каждая последовательность из двух или более пробелов будет отображаться как одно белое пространство. Содержимое элемента будет переноситься везде, где это необходимо.
Синтаксис: пробел: нормальный;
Пример:
<
html
>
1
<
title
>
CSS | white-space Свойство
плитка
>
<
style
>
div {
width: 500px;
высота: 500 пикселей;
белое пространство: нормальное;
цвет фона: салатовый;
цвет: белый;
размер шрифта: 80 пикселей;
}
стиль
>
головка
>
<
корпус
1>
<
центр
>
<
дел
>
Компьютерщики Для компьютерных фанатов:
<
br
9 9002 9
Портал компьютерных наук для гиков.
div
>
центр
>
корпус
>
html
>
Вывод:
Свойство белого пространства css с нормальным значением
- nowrap: Когда свойство белого пространства CSS настроено на nowrap для каждой последовательности из двух или несколько пробелов будут отображаться как одно пробел.Если явно не указано иное, содержимое элемента не будет перенесено в новую строку.
Синтаксис: white-space: nowrap;
Пример:
<
html
>
0
< <
название
>
CSS | white-space Свойство
плитка
>
<
style
>
div {
width: 300px;
высота: 300 пикселей;
белое пространство: nowrap;
цвет фона: светло-зеленый;
цвет: черный;
размер шрифта: 25 пикселей;
}
стиль
>
головка
>
<
корпус
1>
<
center
>
<
div
>
Компьютерщики Для компьютерных фанатов:
Портал компьютерных наук для компьютерных фанатов.
div
>
центр
>
корпус
>
html
>
Выход:
Свойство белого пространства со значением nowrap
- pre: Это значение заставляет пустое пространство иметь тот же эффект, что и тег
в HTML.Контент в элементе будет переноситься только в том случае, если он указан с помощью разрывов строк.
Синтаксис: пробел: pre;
Пример:
<
html
>
0
< <
название
>
CSS | white-space Свойство
плитка
>
<
style
>
div {
width: 300px;
высота: 300 пикселей;
белое пространство: предварительно;
цвет фона: светло-зеленый;
цвет: черный;
размер шрифта: 25 пикселей;
}
стиль
>
головка
>
<
корпус
1>
<
center
>
<
div
>
Компьютерщики Для компьютерных фанатов:
Портал компьютерных наук для компьютерных фанатов.
div
>
центр
>
корпус
>
html
>
Выход:
Свойство белого пространства с предварительным значением
- перед строкой: Когда свойство белого пространства CSS установлено на значение перед строкой , каждая последовательность из двух или более пробелов будет отображаться как одно пробел.Содержимое элемента будет обернуто, когда это необходимо и если это явно указано.
Синтаксис: пробел: предварительная строка;
Пример:
<
html
>
0
< <
название
>
CSS | white-space Свойство
плитка
>
<
style
>
div {
width: 300px;
высота: 300 пикселей;
белое пространство: предварительная строка;
цвет фона: светло-зеленый;
цвет: черный;
размер шрифта: 25 пикселей;
}
стиль
>
головка
>
<
корпус
1>
<
center
>
<
div
>
Geeks For Geeks: научный портал для компьютерных фанатов.
div
>
центр
>
корпус
>
html
>
Вывод:
Значение свойства белого пространства перед строкой
- перед переносом: Когда свойство белого пространства CSS установлено на предварительную строку значение, каждая последовательность пробелов будет отображаться как есть.Содержимое элемента будет обернуто, когда это необходимо и если это явно указано.
Синтаксис: пробел: предварительный перенос;
Пример:
<
html
>
0
< <
название
>
CSS | white-space Свойство
плитка
>
<
style
>
div {
width: 300px;
высота: 300 пикселей;
белое пространство: предварительная упаковка;
цвет фона: светло-зеленый;
цвет: черный;
размер шрифта: 25 пикселей;
}
стиль
>
головка
>
<
корпус
1>
<
center
>
<
div
>
Geeks For Geeks: научный портал для компьютерных фанатов.
div
>
центр
>
корпус
>
html
>
Вывод:
Значение предварительного переноса пробелов
- начальное: Это значение устанавливает для свойства пробела значение по умолчанию.
Синтаксис: пробел: начальный;
- inherit: Это значение устанавливает свойство пробела равным значению родительского элемента.
Синтаксис: пробел: наследование;
Поддерживаемые браузеры: Браузеры, поддерживаемые свойством white-space , перечислены ниже:
- Chrome: 1.0
- Edge: 8. 0
- Firefox: 3.5
- Opera: 9.5
- Safari: 3.0
CSS2 - пробел
CSS2 - пробел белое пространство
Объявление пробела позволяет вам настроить обертку элемента. Объявление размера табуляции позволяет вам установить ширину табуляции.
Контрольный лист:
p.test {
граница: 1px solid # 000000;
отступ: 5 пикселей;
ширина: 300 пикселей;
}
Я добавляю соответствующее значение белого пространства
в строку.
nowrap
Это значение подавляет все разрывы строк в элементе, за исключением случаев, когда оно содержит
с или
с.
Это тестовый параграф.
В нем есть все виды нечетных табуляций и интервалов в
в
Исходный код HTML.
Следует ли их сохранить?
до
Это значение заставляет элемент вести себя как
: все разрывы строк, табуляции и другие странности исходного кода
буквально следуют.
Это тестовый параграф.
В нем есть все виды нечетных табуляций и интервалов в
в
Исходный код HTML.
Следует ли их сохранить?
предварительная упаковка
Это значение ведет себя как значение до
, за исключением того, что оно добавляет дополнительные разрывы строк, чтобы предотвратить выход текста из
поле элемента.
Это тестовый параграф.
В нем есть все виды нечетных табуляций и интервалов в
в
Исходный код HTML.Следует ли их сохранить?
предварительная линия
Это значение игнорирует табуляции и несколько пробелов, но прерывает текст при жестких возвратах в
исходный код, а также когда это необходимо, чтобы текст не вырывался из своего поля.
Это тестовый параграф.
В нем есть все виды нечетных табуляций и интервалов в
в
Исходный код HTML.
Следует ли их сохранить?
Прерывание строки CSS
Прерывание строки CSS - разрыв строки
- разрыв слова
- слово прерывания
- обкатка
- перерывов
- перенос слов
- перелив-обертка
- nowrap
- предварительная упаковка
- предварительная линия
- без упаковки
- где угодно
Флорианец. rivoal.net/talks/line-breaking/
белое пространство
Белое пространство
пробел: нормальный | предварительно | nowrap | предварительная упаковка | перерыв | предварительная линия
- Сворачивает последовательности пробелов (или нет)
- Сохраняет табуляторы и переводы строки (или нет)
- Разрешает перенос строк (или нет)
- Решает, что происходит с пробелами в конце строки
- Применяется к любому элементу, а не только к блокам
white-space: normal
Lorem ipsum.Долор
сидеть Амет.
Conctetur
Lorem ipsum. Dolor sit amet.consectetur
Lorem ipsum. Dolorsit amet.consectetur
Lorem ipsum. Dolor sit amet.consectetur
Lorem ipsum. Dolor sit amet.consectetur
Lorem ipsum. Dolor sit amet.consectetur
Lorem ipsum. Долор сижу
амет.
Conctetur
Белое пространство - фаза I
пробел: нормальный
белое пространство: nowrap
пробел: предварительная строка
белое пространство: до
белое пространство: предварительная упаковка
пробел: пробелы
Белое пространство - фаза II
- Убираются складные пробелы в начале строки
- Сохраненные вкладки перемещают содержимое к следующей позиции табуляции
- Сохраненные переводы строк перемещают содержимое на следующую строку
- Оберните леску при возможности, если больше не поместится
Белое пространство - конец строки
- Убираются складные пробелы в конце строки
-
белое пространство: до
пробелов остаются, переполняются, если слишком долго -
white-space: предварительное обертывание
пробела остаются, могут быть обрезаны при переполнении -
white-space: break-space
пробела остаются, переносить, если слишком долго
пустое пространство во встроенных строках
Давайте узнаем о свойстве white-space
p {белое пространство: нормальное; }
код {white-space: nowrap; }
Давайте узнаем о свойстве white-space
.¬ @media one-ring {
р {пробел: nowrap; }
}
Редактируемые элементы
- Коллапс коллапса пространства с редактированием
-
white-space: нормальный
→ мешанина пробелов и & nbsp;
-
по умолчанию white-space: pre-wrap
-
предварительная упаковка
или перерыв
Работа с переливом
Переливная упаковка
перелив-обертка: нормальный | слово-разрыв | где угодно
- Решает, что делать, если после обычной упаковки вещи не подходят
- Работает, только если
пробел
разрешает перенос
- Применяется к любому элементу, а не только к блокам
переполнение-перенос: где угодно
Идентификатор фиксации, который вы ищете: 2236e39887e6911ed816ea1cb1a67c49
. Идентификатор фиксации, который вы ищете
, который ищет: 2236e39887e6911ed816ea1cb1a67c49
2236e39887e6911ed816ea1cb1a67c49
1cb1a67c49
Внутренний размер
переполнение-обертка: везде, где
влияет на внутренние размеры.
overflow-wrap: break-word
не работает.
тд {ширина: 5ч; переполнение-обертка: слово-прерывание; }
тд {ширина: 5ч; переполнение-обертка: где угодно; }
Управление возможностями упаковки
Свойство дефисов
дефис: инструкция | нет | авто
- Обеспечивает дополнительные возможности упаковки
- Вставляет дефис в местах переноса.
- Работает, только если
пробел
разрешает перенос
- Применяется к любому элементу, а не только к блокам
Включение расстановки переносов
- Используйте дефис
: вручную
с & shy;
. -
супер и застенчивая; Кали и застенчивый; хрупкий и застенчивый; istic & shy; expi & shy; Али и застенчивый; послушный
-
supercalifragilisticexpialidocious
- Используйте дефис
: auto
с lang = "…"
.
Шкаф вкл-
исправить гип-
henation может включать-
уменьшить разницу
проблема те-
xt или даже alt-
ээээ ...
aning.
Используйте lang = "…"
, браузеры не будут переносить их, если вы этого не сделаете.
Свойство разбиения на слова
разрыв слова: нормальный | сломать все | хранить все
- Определяет, разрешены ли разрывы внутри слов .
-
разрыв слова: разрыв всего
имеет приоритет над дефисом
.
- Работает, только если
пробел
разрешает перенос.
- Применяется к любому элементу, а не только к блокам.
Разбиение на слова на разных языках
Английский переносит пробелы.
日本語 は 、 字 の 間 に 改行 を 許 す。
이것은 한국어 문장 입니다.
이것은 한국어 문장 입니다.
이것은 한국어 문장 입니다.
CJK латинским текстом
-
разрыв слова: нормальный
Вы должны посетить замок Нидзё (二
条 城), когда будете в Киото.
-
разрыв слова: сохранить все
Вы должны посетить замок Нидзё
(二条 城), когда будете в Киото.
Латиница в
CJK текст
-
разрыв слова: нормальный
美 し い 組 版
CSS で 出 き る。
-
разрыв слова: разбить все
美 し い 組 CS
S で 出 き る。
Свойство разрыва строки
перенос строки: авто | свободный | нормальный | строгий | где угодно
- В основном о пунктуации в CJK
- Также есть режим «ломать где угодно»
- Чувствителен к атрибуту
lang
- Работает, только если
пробел
разрешает перенос. - Применяется к любому элементу, а не только к блокам
Строгость разрыва строки
-
свободный
-
割 引 キ ャ ン ペ ー ン
: 2019 年 9〜
10 月
-
нормальный
-
割 引 キ ャ ン ペ ー
ン : 2019 年 9
〜 10 月
-
строгий
-
割 引 キ ャ ン ペ ー
ン : 2019 年
9〜 10 月
Магия?
Английский переносит пробелы.
日本語 は 、 字 の 間 に 改行 を 許 す。
Как ???
Юникод!
- Больше, чем список кодовых точек и соответствующих символов
- Группировать символы по категориям
- Определяет поведение для каждой категории
- Поведение при разрыве линии определено в UAX 14
Имя Категория Поведение
«A» U + 0041 AL (по алфавиту) без упаковки
«» U + 0020 SP (Пробел) перенос после ОК
Английский переносит пробелы.
Имя Категория Поведение
«日» U + 65E5 ID
(Идеографический) упаковка до и после ОК
«、» U + 3001 CL
(закрытая пунктуация) сохранить предыдущий символ
日本語 は 、 字 の 間 に 改行 を 許 す。
Варианты Unicode
3 кошки
← U + 0020 (ПРОБЕЛ)
15:00
← U + 00A0 (ПРОСТРАНСТВО БЕЗ РАЗРЫВА) aka & nbsp;
Lorem - ipsum
← U + 2009 (ТОНКОЕ ПРОСТРАНСТВО)
§ 3.2
← U + 202F (УЗКОЕ БЕЗПРЕРЫВНОЕ ПРОСТРАНСТВО)
Передняя часть
← U + 2010 (HYPHEN)
эл. Почта
← U + 2011 (НЕПРЕРЫВНЫЙ ДЕФИС)
Дополнительные примеры
разрыв строки: где угодно;
пробел: пробелы;
xterm - вибаш
[~ / src / csswg-drafts / css-text-3 /]
долларов США.
[~ / src / csswg-drafts / css-text-3 /] $ vi Ov
эрвью.BS
2
1 Имя: разрыв строки
0 Значение: авто | свободный | нормальный | строгий
| в любом месте
1 По умолчанию: авто
2 Применимо к: встроенным блокам
3 Унаследовано: да
4 Канонический порядок: н / д
5 Вычисленное значение: указанное ключевое слово
6 Тип анимации: дискретная
7
1124,41 35%
Японские титулы
風 の 谷 の
ナ ウ シ カ
или U + 200B (НУЛЕВАЯ ШИРИНА ПРОСТРАНСТВА)
разрыв слова: нормальный
風 の 谷 の ナ ウ シ カ
разрыв слова: сохранить все
風 の 谷 の ナ ウ シ カ
Хитрый футляр
Atomic встроенные
- кнопки, флажки…
- изображений, видео, холст…
-
дисплей: встроенный блок
Возможность упаковки до и после Lorem ipsumdolor.
Даже если есть & nbsp;
Lorem ipsum & nbsp; & nbsp; dolor.
Проблема
😡
Решение (?)
😡
внешняя ссылка
диапазон {белое пространство: nowrap; }
внешняя ссылка
🙄
Совместимость
Вот драконы ...
пробел: нормальный | предварительно | nowrap | предварительная упаковка | перерыв | предварительная линия
перерыв
опора
Firefox Chrome Safari Edge HTML
😀 начиная с v69 😀 начиная с v76 начиная с v13 ⛔️
😢 Пробелы в конце строки с предварительным переносом
Firefox Chrome Safari Edge HTML
✂️ Усечь 🌊 начиная с v76 ✂️ Усечь 🌊 Переполнение
перелив-обертка: нормальный | слово-разрыв | где угодно
😢 # 1 : унаследованное название перенос слов
Firefox Chrome Safari Edge HTML
😀 (оба имени) перенос слов только
😢 # 2 : частичная поддержка везде
Firefox Chrome Safari Edge HTML
😀 начиная с v65 из V80 еще нет, используйте разрыв слова : break-word
⛔️
дефис: инструкция | нет | авто
разрыв слова: нормальный | сломать все | хранить все
перенос строки: авто | свободный | нормальный | строгий | где угодно
Firefox Chrome Safari Edge HTML
авто
😀 начиная с v69 😀
без упаковки
нормальный
строгий
где угодно
от v80 😀 начиная с v13 ⛔️
@supports not (разрыв строки: где угодно) {p {word-break: break-all; }}
- разрыв строки
- разрыв слова
- слово прерывания
- обкатка
- места для отдыха
- перенос слов
- перелив-обертка
- nowrap
- предварительная упаковка
- предварительная линия
- без упаковки
- где угодно
белое пространство: нормальное | предварительно | nowrap | предварительная упаковка | перерыв | предварительная линия
перелив-обертка: нормальный | слово-разрыв | где угодно
дефис: инструкция | нет | авто
разрыв слова: нормальный | сломать все | хранить все
| слово-прерывание
перенос строки: авто | свободный | нормальный | строгий | где угодно
Флорианец.