Можно ли заставить любой элемент CSS вести себя как ‹pre›

Я загружаю некоторый контент внутри iframe. Я хочу, чтобы этот контент вел себя так, как если бы он был внутри тега <pre>, а именно чтобы он учитывал разрывы строк. Я использую javascript, чтобы установить стиль элемента body этого iframe.

Мне интересно, можно ли установить определенный стиль, который заставит тело этого iframe действовать так, как будто оно находится внутри <pre/>.


person chaimp    schedule 30.12.2010    source источник


Ответы (4)


вы можете найти настройки по умолчанию или то, какими они должны быть на http://www.w3.org/TR/CSS2/sample.html просто примените тот же стиль к элементу, который вы хотите вести как элемент pre, и вуаля, все готово.

p.s. что в основном

pre{ white-space: pre ; display: block; unicode-bidi: embed }
person Breezer    schedule 30.12.2010
comment
Это здорово! После просмотра ссылки было пропущено свойство font-family: monospace;. Это не особо нужно, но стоит упомянуть. - person mattdevio; 16.01.2018

Если вас интересует только сохранение разрывов строк, но не пробелов, я предлагаю использовать:

body {
    white-space: pre-line;
}

Это объединит несколько последовательных пробельных символов в один, но сохранит разрывы строк. Недостатком является то, что он поддерживается только в IE версии 8 и выше.

person Hjorth    schedule 30.08.2012

Попробуйте установить для стиля white-space элемента значение pre.

body {
    white-space: pre;
}
person stevelove    schedule 30.12.2010

Если вы просто хотите, чтобы он действовал на разрывы строк, такие как pre, используйте css: white-space: pre

person Keltex    schedule 30.12.2010