使pre的內容自動換行

<pre> 元素可定義預格式化的文本。被包圍在 pre 元素中的文本一般會保留空格和換行符。而文本也會呈現爲等寬字體。 css

<pre> 標籤的一個常見應用就是用來表示計算機的源代碼。 html

而咱們常常碰到的一個問題是若是一個代碼上碰到有圖片或者網頁地址就會使代碼很長,結果會形成頁面撐開或者代碼超出邊界。很是難受,若是用overflow:hidden那麼會將原來的代碼隱藏掉,用overflow:auto則會出現滾動條,代碼也不方便閱讀。 瀏覽器

點擊查看:http://www.css88.com/demo/pre/index-1.html 字體

今天折騰了一個晚上終於搞定<pre>的內容自動換行的問題: spa

1.先嚐試使用:word-wrap: break-word;將內容自動換行,IE,OP,Chrome,Safari均可以,FF就悲劇了。 code

點擊查看:http://www.css88.com/demo/pre/index-2.html orm

2.查看了pre的瀏覽器默認樣式: htm

xmp, pre, plaintext {
  display: block;
  font-family: -moz-fixed; white-space: pre; margin: 1em 0;
}
都有這個white-space: pre,看看white-space的值:
描述
normal 默認。空白會被瀏覽器忽略。
pre 空白會被瀏覽器保留。其行爲方式相似 HTML 中的 <pre> 標籤。
nowrap 文本不會換行,文本會在在同一行上繼續,直到遇到 <br> 標籤爲止。
pre-wrap 保留空白符序列,可是正常地進行換行。
pre-line 合併空白符序列,可是保留換行符。
inherit 規定應該從父元素繼承 white-space 屬性的值。

有個pre-wrap,保留空白符序列,可是正常地進行換行。 繼承

這樣就OK了搞定,咱們只要加上樣式: 圖片

pre {
white-space: pre-wrap;
word-wrap: break-word;
}

就能使<pre>的內容自動換行了。

點擊查看:http://www.css88.com/demo/pre/

相關文章
相關標籤/搜索