這時(shí)候,你可以使用overflow:auto; (當(dāng)代碼超出容器邊界的時(shí)候,顯示滾動(dòng)框), 但這個(gè)方法也并不適用于所有主流瀏覽器,一些瀏覽器會(huì)直接截?cái)喑龅膬?nèi)容 。
我們都知道<pre> 標(biāo)簽可定義預(yù)格式化的文本,一個(gè)常見(jiàn)應(yīng)用就是用來(lái)表示計(jì)算機(jī)的源代碼。被包圍在 pre 元素中的文本通常會(huì)保留空格和換行符,但不幸的是,當(dāng)你在<pre>標(biāo)簽里面寫代碼的時(shí)候,如果你沒(méi)有手動(dòng)換行,它也會(huì)給你保留,而不會(huì)自動(dòng)換行。
這時(shí)候,你可以使用overflow:auto; (當(dāng)代碼超出容器邊界的時(shí)候,顯示滾動(dòng)框), 但這個(gè)方法也并不適用于所有主流瀏覽器,一些瀏覽器會(huì)直接截?cái)喑龅膬?nèi)容 。
由于本站中使用源碼的地方也不是很多,之前也不是很在意這個(gè)問(wèn)題,前不久有位熱心的網(wǎng)友在QQ上反饋這個(gè)問(wèn)題,于是在趁這次更換主題時(shí),尋找了一下解決方案,分享之。
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+ */
}
該CSS方案可讓pre標(biāo)簽內(nèi)的文本自動(dòng)換行,我在我有的瀏覽器上都測(cè)試了一下,全部支持,IE6,IE7, IE8, Firefox, Opera, Safari和Chrome。
僅當(dāng)你把窗口縮小到小于20個(gè)字符的寬度的時(shí)候,才會(huì)超出邊界
另外,看到一些帖子也有分享這個(gè)CSS技巧,說(shuō)能解決長(zhǎng)詞換行的問(wèn)題,但我試了一下,還是不行。