Как изменить диапазон, чтобы он выглядел как предварительный с помощью CSS?

Можно ли изменить тег <span> (или <div>), чтобы предварительно отформатировать его содержимое, как тег <pre>, используя только CSS?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
117
0
54 435
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

Посмотрите на Таблица стилей по умолчанию W3C CSS2.1 или CSS2.2 Рабочий проект. Скопируйте все настройки для PRE и поместите их в свой собственный класс.

pre {
    display: block;
    unicode-bidi: embed;
    font-family: monospace;
    white-space: pre;
}

Это хорошая идея, чтобы понять, откуда взялись эти значения по умолчанию.

Diodeus - James MacFarlane 21.10.2008 19:07

Когда я пытаюсь это сделать, разрывы строк не сохраняются.

Agnel Kurian 19.02.2014 15:48

Тег <pre> будет отображать горизонтальные полосы прокрутки, когда текст слишком широкий, но этот CSS - нет. Кто-нибудь знает, как их показать?

shindigo 30.07.2014 17:19

@shindigo Вы пробовали использовать overflow: scroll? Или, если вам нужна только горизонтальная прокрутка overflow-x: scrolldeveloper.mozilla.org/en-US/docs/Web/CSS/overflow

Kanmuri 03.09.2014 21:06

@shindigo overflow: auto; может быть лучше, иначе вы можете получить два набора полос прокрутки, когда они вам не нужны.

Spechal 28.06.2019 20:52

См. свойство CSS белого пространства.

.like-pre { white-space: pre; }

в качестве альтернативы вам может пригодиться white-space: pre-wrap. Он ведет себя как pre, но переносит длинные строки.

Kai Carver 31.03.2014 19:23

В частности, вы смотрите на недвижимость:

white-space: pre

http://www.quirksmode.org/css/whitespace.html
http://www.w3.org/TR/CSS21/text.html#white-space-prop

Почему бы просто не использовать тег <pre> вместо тега span? Оба являются встроенными, поэтому оба должны вести себя так, как вы хотите. Если у вас есть проблема с переопределением всего определения <pre>, просто дайте ему class / id.

Иногда у вас уже есть промежуток на странице, и вы не можете его изменить, например, если он является частью существующей системы CMS.

Mr. Shiny and New 安宇 20.10.2008 21:37

B / c фреймворк отказывается помещать содержимое в мой <pre> так, как я его прошу. Я мог бы обойти это, но это намного сложнее, чем просто установить несколько свойств CSS.

jsight 20.10.2008 22:04

Это делает SPAN похожим на PRE:

span {
  white-space: pre;
  font-family: monospace;
  display: block;
}

Не забудьте изменить селектор css соответствующим образом.

Попробуй это

span {
    white-space: pre;
    font-family: monospace;
    display: block;
    unicode-bidi: embed
}

Попробуйте этот стиль

.pre {

white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
line-height: 1.5;   
word-break: break-all;
white-space: pre;
white-space: pre\9; /* IE7+ */
display: block;
}

Используется то же самое здесь - http://www.makemyshop.in/

хотя принятый ответ действительно правильный, если вы хотите, чтобы текст был перенесен, вы должны использовать:

white-space: pre-wrap;

Другие вопросы по теме