【CSS】Pre 標簽 自動換行

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

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

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

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

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

1.先嘗試使用:word-wrap:break-word;

將內容自動換行,IE,OP,Chrome,Safari都可以,FF就悲劇了

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

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

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/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容