我們都知道
標籤可定義預先格式化的文本,一個常見應用就是用來表示電腦的原始碼。被包圍在PRe 元素中的文字通常會保留空格和換行符,但不幸的是,當你在標籤裡面寫程式碼的時候,如果你沒有手動換行,它也會為你保留,而不會動換行。
這時候,你可以使用overflow:auto; (當程式碼超出容器邊界的時候,顯示滾動框), 但這方法也並不適用於所有主流瀏覽器,有些瀏覽器會直接截斷超出的內容。
由於本站使用源碼的地方也不是很多,之前也不是很在意這個問題,前不久有位熱心的網友在QQ上反饋這個問題,於是在趁這次更換主題時,尋找了一下解決方案,分享之。
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+ */}出自: Making preformated text wrap in CSS3, Mozilla, Opera and IE
這個CSS方案可讓pre標籤內的文字自動換行,我在我有的瀏覽器上都測試了一下,全部支持,IE6,IE7, IE8, Firefox, Opera, Safari和Chrome。
只有當你把視窗縮小到小於20個字元的寬度的時候,才會超出邊界另外,看到一些貼文也有分享這個CSS技巧,說能解決長詞換行的問題,但我試了一下,還是不行。
-