Категория > Самоучитель CSS > Поговорим о свойстве white-space - «Учебник CSS»
Поговорим о свойстве white-space - «Учебник CSS»20-03-2016, 14:46. Автор: Тихон |
В 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, за исключением одного момента: переводы строк в исходной разметке являются значимыми. Таким образом, если в разметке между словами несколько пробелом, Повторяющиеся пробелы игнорируются, переводы строк обрабатываюся. white-space: pre-wrapЭто значение определяет такое же поведение как и значение pre, за тем исключением что строка переносится в соответствии с границами родительского элемента. Таким образом, текст Обрабатываюся повторяющиеся пробелы и явные переводы строк, а также естественные переводы строк. Варианты использованияВозможно, наиболее частый случай использования свойства white-space - это применение его к ссылке, которую вы не хотите переносить на новую строку. На показанном скриншоте, ссылка «Read more »» кавычка (») перенеслась на новую строку, поскольку ей не хватило места. Этого можно избежать применив к ссылке значение nowrap. ЗаблужденияУ новичков вёрстки часто возникает недопонимание при использовании white-space: nowrap, в случае если они применяют его к inline-элементу и ожидают что он не будет переносится на новую строку. Стоит Перейти обратно к новости |