pre 元素可定義預格式化的文本。被包圍在 pre 元素中的文本通常會保留空格和換行符。而文本也會呈現爲等寬字體。
今天遇到了一個棘手的問題,當從數據據庫中取出數據,放在jsp頁面顯示時,發現內容都堆積在了一塊,沒有換行,看着很難受。但是在控制檯輸出,換行卻被保留着。
這時候就想到了使用<pre>
元素。
pre 元素可定義預格式化的文本。被包圍在 pre 元素中的文本通常會保留空格和換行符。而文本也會呈現爲等寬字體。
但問題又來了,使用<pre>
元素,固然保留了原內容中的換行符,但頁面中沒有實現了自動換行,導致每行的長度過長,影響閱讀。
並且,從H4開始<pre>
中可以定義每行最大字符數的“width”屬性,就已經不被贊成使用。
可行的解決方法是結合使用CSS。
CSS的white-space屬性用於指定如何處理容器中的空白字符。
white-space出自CSS1,適用於塊狀元素,具有繼承性,支持IE 5.5+、Chrome、FireFox、Safari、Opera等所有主流瀏覽器,其默認值爲normal。
我們來看一下white-space可選的屬性值:
注意到“pre-wrap”屬性值:保留空白符序列,但是正常地進行換行。
找到了! 使用“pre-wrap”屬性值就可以完全滿足我們的要求。
對應的CSS規則是:
<style>
pre{
white-space:pre-wrap;
word-wrap:break-word;
}
</style>
這樣,<pre>
裏的內容就可以自動換行了。