# Свойство white-space Свойство `white-space` позволяет сохранять пробелы и переносы строк. У него есть два известных значения: Но браузеры поддерживают ещё 3, два из которых -- только в IE8+ и очень полезны. [cut] ## pre / nowrap Встречаем первую "сладкую парочку" -- `pre` и `nowrap`. Оба этих значения меняют стандартное поведение HTML при работе с текстом: **`pre`**: **`nowrap`** Оба этих значения поддерживаются кросс-браузерно. **Их основной недостаток -- текст вылезает из контейнера.** Для примера, рассмотрим следующий фрагмент кода: ```js if (hours > 18) { // Пойти поиграть в теннис } ``` Допустим, мы хотим разрешить посетителям публиковать код на сайте, с сохранением разметки. Но тег `PRE` и описанные выше значения `white-space` для этого не подойдут! Злой Василий Пупкин может написать такой текст, который вылезет из контейнера и поломает вёрстку страницы. Можно скрыть вылезшее значение при помощи `overflow-x: hidden` или сделать так, чтобы была горизонтальная прокрутка, но, к счастью, есть другие значения `white-space`, специально для таких случаев. ## pre-wrap/pre-line Эти значения не поддерживаются в IE7-.
`pre-wrap`
То же самое, что `pre`, но переводит строку, если текст вылезает из контейнера.
`pre-line`
То же самое, что `pre`, но переводит строку, если текст вылезает из контейнера и не сохраняет пробелы.
Оба поведения отлично прослеживаются на примерах: Никто не мешает использовать эти значения на сайте, а для IE7- игнорировать проблему или задавать контейнеру `overflow-x: hidden`.