默認設置,一長串英文字符(中間沒空格)不會自動換行,比 如:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa不能處理自動換行,而漢字字符卻可以自動換行。原因 是:英文字母之間如果沒有空格,系統認為是一個單詞,就不會自動換行。漢字就沒有這種情況。
1、在需要強制設置換行時,
td中:
需用css來控制style='word-break: break-all'
div中 : ?
div 實現長英文字母自動換行CSS
IE瀏覽器
#wrap{white-space:normal; width:200px; }
或者
#wrap{word-break:break-all;width:200px;}
Firefox瀏覽器
#wrap{white-space:normal; width:200px; overflow:auto;}
或者
#wrap{word-break:break-all;width:200px; overflow:auto; }
2、在不需要換行時
style='word-break: keep-all'//不會自動換行,有空格換行,ie支持,ff不支持
要想兼容ie和ff,需設置white-space: nowrap;,這樣設置,不論是英文還是漢字,也不管是否有空格都會不換行顯示
white-space : normal | pre | nowrap
normal : 默認值。默認處理方式。文本自動處理換行。假如抵達容器邊界內容會轉到下一行
pre : 換行和其他空白字符都將受到保護。這個值需要IE6+或者 !DOCTYPE 聲明為
standards-compliant mode 支持。如果 !DOCTYPE 聲明沒有指定為 standards-compliant mode,
此屬性可以使用,但是不會發生作用。結果等同于 normal 。參閱 pre 對象
nowrap : 強制在同一行內顯示所有文本,直到文本結束或者遭遇 br 對象。
兼容性: IE5.5 +, Firefox
另外解釋一下
word-wrap和word-break
word-wrap用來控制換行
兩種取值:
(1)normal
(2)break-word(此值用來強制換行,內容將在邊界內換行,中文沒有任何問題,英文語句也沒問題。但是對于長串的英文,就不起作用。)
word-break用來控制斷詞
三種取值:
(1)normal
(2)break-all(是斷開單詞。在單詞到邊界時,下個字母自動到下一行。主要解決了長串英文的問題。)
(3)keep-all(是指Chinese, Japanese, and Korean不斷詞,一句話一行,可以用來排列古詩喲~)
關于?overflow: hidden;的說明
即使通過css控制了td橫向字體隱藏截取,而縱向遇到<br>的情況還是會撐開單元格的高度,ie9好像支持這種效果,而不會撐開單元格的高度