Перейти к содержимому

Как сделать перенос строки в css

  • автор:

white-space

normal Текст в окне браузера выводится как обычно, переносы строк устанавливаются автоматически. nowrap Пробелы не учитываются, переносы строк в коде HTML игнорируются, весь текст отображается одной строкой; вместе с тем, добавление тега
переносит текст на новую строку. pre Текст показывается с учетом всех пробелов и переносов, как они были добавлены разработчиком в коде HTML. Если строка получается слишком длинной и не помещается в окне браузера, то будет добавлена горизонтальная полоса прокрутки. pre-line В тексте пробелы не учитываются, текст автоматически переносится на следующую строку, если он не помещается в заданную область. pre-wrap В тексте сохраняются все пробелы и переносы, однако если строка по ширине не помещается в заданную область, то текст автоматически будет перенесен на следующую строку. inherit Наследует значение родителя.

Действие значений на текст представлено в табл. 1.

Табл. 1. Перенос текста и пробелы при разных значениях white-space

Значение Перенос текста Пробелы
normal Переносится Не учитываются
nowrap Не переносится Не учитываются
pre Не переносится Учитываются
pre-line Переносится Не учитываются
pre-wrap Переносится Учитываются

HTML5 CSS2.1 IE Cr Op Sa Fx

    white-space    

Результат данного примера показан на рис. 1.

Применение свойства white-space

Рис. 1. Применение свойства white-space

Объектная модель

[window.]document.getElementById(» elementID «).style.whiteSpace

Браузеры

Браузер Internet Explorer до версии 7.0 включительно не поддерживает значения pre-line , pre-wrap и inherit . Для значения normal и pre ведут себя как pre-wrap , а значение nowrap ведет себя как pre-line .

Opera до версии 9.5 не поддерживает значение pre-line . Для значения normal и pre ведут себя как pre-wrap , а значение nowrap ведет себя как pre-line .

Safari до версии 3.0 и iOS не поддерживают значения pre-wrap и pre-line .

Firefox до версии 2.0 включительно не поддерживает значения pre-line и pre-wrap . Для значения normal , nowrap , и pre воспринимаются как pre-wrap .

Свойство overflow-wrap

Свойство overflow-wrap позволяет перенести буквы длинного слова на новую строку, если это слово не влазит в ширину контейнера.

Синтаксис

Значения

Значение Описание
break-word Заставляет длинные слова переноситься на новую строку, если это слово не помещается в контейнер. При этом слово начнется с новой строки.
normal Стандартное поведение: если длинное слово не влазит по ширине в контейнер — оно просто вылезет за его границу (при этом начнется с новой строки).

Значение по умолчанию: normal .

Пример . Значение normal

В данном примере очень длинное слово не поместится в контейнер и вылезет за его границы (при этом начнется с новой строки):

Lorem ipsum dolor sit amet оооооооооооооооооооооооооооооченьдлинноеслово, consectetur adipiscing elit.

#elem < word-wrap: normal; overflow-wrap: normal; border: 1px solid red; width: 200px; >

Пример . Значение break-word

А теперь те буквы, которые не помещались, просто перенесутся на следующую строку (при этом длинное слово все равно будет начинаться с новой строки):

Lorem ipsum dolor sit amet оооооооооооооооооооооооооооооченьдлинноеслово, consectetur adipiscing elit.

#elem < overflow-wrap: break-word; border: 1px solid red; width: 200px; >

Смотрите также

  • свойство word-break ,
    которое также позволяет перенести буквы длинного слова на новую строку
  • свойство word-wrap ,
    которое является устаревшим названием свойства overflow-wrap
  • свойство hyphens ,
    которое включает переносы слов по слогам
  • тег wbr ,
    который реализует мягкие переносы средствами HTML
  • тег br ,
    с помощью которого можно принудительно заставить перенести текст на новую строку

Как сделать каждое слово с новой строки css?

Перенос слов на новую строку css стилями можно реализовать несколькими путями.
Задача – из текста выделить группу слов и вывести их с новой строки.

Решение:

  1. Задать обертку для группы слов. Оберткой могут выступать теги: p, span, div
  2. В css указать display: block;

После разметки текста будет осуществлен перенос слов на новую строку силами css, без использования тега переноса.

Задача становится гораздо сложнее, когда смысл заключается в переносе каждого слова на новую строку. Можно использовать метод выше, но код станет избыточным.

В css перенести слово на новую строку позволяет свойство word-spacing. Прямое назначение этого свойства – задать интервал между словами. Этим можно воспользоваться.

Пример реализации

Как видно из примера выше, значение стиля принудительно устанавливает размер отступа между словами в 100% ширины экрана, что позволяет через css перенести слово на новую строку без изменения разметки сайта.

Свойство white-space

Свойство white-space устанавливает как переносить текст на новую строку, а также как отображать пробелы между словами и переносы строк (места, где был нажат Enter при наборе кода).

Синтаксис

Значения

Значение Описание
nowrap Запрещает тексту переносится на другую строку, даже если он не помещается в ширину контейнера (в этом случае текст просто вылезет за его границы). Однако, добавление тега br заставит текст перенестись на новую строку.
pre Текст показывается так, как был набран в блокноте при верстке сайта: со всеми пробелами и enter-ами (если в коде набрано несколько пробелов — на экране тоже будет несколько). При этом браузер не будет переносить текст на новую строку, если он не помещается в контейнер — текст просто вылезет за его границы. Аналог тега pre, но в отличие от него не меняет шрифт на моноширинный (про моноширинный шрифт см. свойство font-family .
pre-wrap То же самое, что и pre, отличие в том, что если текст слишком длинный и не влазит в контейнер — браузер перенесет его на другую строку.
pre-line Браузер учитывает только Enter-ы в HTML коде и игнорирует все остальное (несколько пробелов будут выглядеть как один, браузер сам расставляет разрывы строк).
normal Стандартное поведение: браузер сам расставляет разрывы строки так, чтобы слова поместились в контейнер. Несколько пробелов в коде будут выглядеть как один на экране.

Значение по умолчанию: normal .

Пример . Значение nowrap

В данном примере текст не поместится в контейнер и вылезет за его границы, так как задано значение nowrap :

Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.

#elem < width: 200px; white-space: nowrap; border: 1px solid red; >

Пример . Значение nowrap и тег br

Если добавить тег br — текст перенесется на новую строку (именно в том месте, где стоит br ):

Lorem ipsum dolor sit
amet, consectetur adipiscing elitorire.

#elem < width: 200px; white-space: nowrap; border: 1px solid red; >

Пример . Значение pre

В данном примере текст показывается так, как был набран в редакторе HTML кода (со всеми отступами клавишей Tab , с Enter и так далее):

Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.

#elem < width: 200px; white-space: pre; border: 1px solid red; >

Пример . Значение pre-wrap

А сейчас текст показывается так, как был набран в редакторе HTML кода, однако, вылезающие части переносятся на новую строку:

Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.

#elem < width: 200px; white-space: pre-wrap; border: 1px solid red; >

Смотрите также

  • свойства word-break и overflow-wrap ,
    которые позволяют перенести буквы длинного слова на новую строку
  • свойство tab-size ,
    которое устанавливает размер отступа, созданного клавишей Tab
  • свойство hyphens ,
    которое включает переносы слов по слогам
  • свойство overflow ,
    которое обрезает вылезающие за границу блока части
  • тег pre ,
    который показывает текст так, как он был набран в редакторе HTML кода

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *