CSS FireFox and IE 換行問題解決方案

來源:互聯網
上載者:User
1
/* 禁止換行 */
.nowrap{word-break:keep-all;white-space:nowrap;}
/* 強制換行 */
.break{word-break:break-all;}

css強制不換行
div{white-space:nowrap;}

css自動換行

div{ word-wrap: break-word; word-break: normal; }

css強制英文單詞斷行

div{word-break:break-all;}

大家都知道連續的英文或數字會把DIV或表格邊框撐破,不能根據容器的大小自動換行,下面是 CSS如何將他們換行的方法!

對於div

1.(IE瀏覽器)white-space:normal; word-break:break-all;這裡前者是遵循標準。

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

eg.

ddd1111111111111111111111111111111111111111111111111111111111111111111

 

效果:可以實現換行

2.(Firefox瀏覽器)white-space:normal; word-break:break-all;overflow:hidden;同樣的FF下也沒有很好的實現方法,只能隱藏或者加捲軸,當然不加捲軸效果更好!

#wrap{white-space:normal; width:200px; overflow:auto;}
或者
#wrap{word-break:break-all;width:200px; overflow:auto; }

eg.

ddd1111111111111111111111111111111111111111111111111111111111111111111

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

對於table

1. (IE瀏覽器)使用樣式;
eg.

abcdefghigklmnopqrstuvwxyz 1234567890

 

效果:可以換行

2.(IE瀏覽器)使用樣式與nowrap
eg.

abcdefghigklmnopqrstuvwxyz 1234567890

 

效果:可以換行

3. (IE瀏覽器)在使用百分比固定td大小情況下使用樣式與nowrap

 

abcdefghigklmnopqrstuvwxyz 1234567890 abcdefghigklmnopqrstuvwxyz 1234567890

 

效果:兩個td均正常換行

3.(Firefox瀏覽器)在使用百分比固定td大小情況下使用樣式與nowrap,並且使用div
eg.

abcdefghigklmnopqrstuvwxyz 1234567890 abcdefghigklmnopqrstuvwxyz 1234567890

 

這裡儲存格寬度一定要用百分比定義

對於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的寬度,多餘內容隱藏

abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss

效果:隱藏多餘內容

2.(IE瀏覽器)使用 ;強制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的寬度,內層td,th採用word-break : break-all;或者word-wrap : break-word ;換行,使用overflow:hidden;隱藏超出內容,這裡overflow:auto;無法起作用

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.