2008年12月1日 星期一

有沒有強制換行的CSS

table是按百分比定義的,中文字TD裡能自動折行,但是字母和數字的時候並不會折行,而是在一行顯示下去,有沒有強制折行CSS呢?

對於div,p等塊級元素

正常文字的換行(亞洲文字和非亞洲文字)元素擁有默認的white-space:normal,當定義的寬度之後自動換行
html
程序代碼 程序代碼
正常文字的換行(亞洲文字和非亞洲文字)元素擁有默認的white-space:normal,當定義

css
#wrap{white-space:normal; width:200px; }


1.(IE瀏覽器)連續的英文字符和阿拉伯數字,使用word-wrap : break-word ;或者word-break:break-all;實現強制斷行

#wrap{word-break:break-all; width:200px;}
或者
#wrap{word-wrap:break-word; width:200px;}

程序代碼 程序代碼
abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111



效果:可以實現換行

2.(Firefox瀏覽器)連續的英文字符和阿拉伯數字的斷行,Firefox的所有版本的沒有解決這個問題,我們只有讓超出邊界的字符隱藏或者,給容器添加滾動條

程序代碼 程序代碼
#wrap{word-break:break-all; width:200px; overflow:auto;}
abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111



效果:容器正常,內容隱藏

對於table

1. (IE瀏覽器)使用 table-layout:fixed;強制table的寬度,多餘內容隱藏

程序代碼 程序代碼




abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss



效果:隱藏多餘內容

2.(IE瀏覽器)使用 table-layout:fixed;強制table的寬度,內層td,th採用word-break : break-all;或者word-wrap : break-word ;換行

程序代碼 程序代碼





abcdefghigklmnopqrstuvwxyz 1234567890
abcdefghigklmnopqrstuvwxyz 1234567890



效果:可以換行

3. (IE瀏覽器)在td,th中嵌套div,p等採用上面提到的div,p的換行方法

4. (Firefox瀏覽器)使用 table-layout:fixed;強制table的寬度,內層td,th採用word-break : break-all;或者word-wrap : break-word ;換行,使用overflow:hidden;隱藏超出內容,這裡overflow:auto;無法起作用

程序代碼 程序代碼





abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890



效果:隱藏多於內容

摘自:http://220.135.241.51/blog/article.asp?id=1976

沒有留言:

wibiya widget