css pre 自動換行的問題

本站文章中使用了 pre 格式輸出 代碼。 而瀏覽器默認是強制不換行輸出 pre 裏的內容。這樣的話,代碼一長就出現了撐到頁面外部的樣子。在之前我都是有意的在代碼裏強制換行... 累啊. 今天有意的google了下,找到了:

pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}經測試,除IE[當前使用6]外, 其他可以.... 鬱悶,然後增加 width:600px; 後,ok,.換行了,其實位置還是衍生出去了。樣子是這樣的: 代碼是在裏面了,但下面的敘述性的東西卻出了去。在說,定義一個這個寬度也不是個好的方法,其他的不直接改這個css的方法基本沒有了。

然後看上面css想到, 爲什麼定義其他的都用 white-space 而定義 IE 的不使用呢? 又不是IE 不支持。。於是加上就可以了[翻了google的前5頁, 沒找到一個改css解決的...汗]。

 pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
white-space : normal ; /* Internet Explorer 5.5+ */
}

至於本站上使用的是把ie和其他的分開了,因爲white-space 在最後也都作用於其他了....

pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
}
* html pre {
word-wrap: break-word; /* Internet Explorer 5.5+ */
white-space : normal ; /* Internet Explorer 5.5+ */
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章