CSS讓英文單詞的自動換行的方法介紹
來源:互聯網
上載者:User
CSS讓英文單詞的自動換行
在製作網頁過程中,css樣式編寫中,可能會遇到文字換行的問題,其中英文換行可能會困擾著很多初學者,而今天我就這個問題進行相應的闡述,學過css的朋友應該都知道,控制文字是否換行可以直接使用css中的word-break來進行調整,但是對於英文來說,我們要讓其能滿足所有瀏覽器的需要,僅僅這一個屬性是不夠的。
根據我個人所瞭解的一些資料顯示,英文過多,過長,不僅僅影響到表格,還影響到了p,有可能會撐破表格和p,對於表格和p的解決方案各有不同,首先我們來看在表格中改如何解決這個問題。
如果你使用的是表格版面配置,表格內的內容多以英文為主,而且英文不會換行,那麼你只需要在css中加入如下代碼即可
table {
table-layout: fixed; word-break:break-all;
word-wrap:break-word;
}
如果你使用的p+css布局,那麼遇到p中的文字被英文撐破時,可以在css中加入如下代碼
p{
word-break:break-all;
word-wrap:break-word;
}
根據 CSS2中文手冊
word-break版本:IE5+專有屬性 繼承性:有
文法:
word-break : normal | break-all | keep-all
取值:
normal:預設值,允許在詞間換行
break-all:該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內斷開。該值適合包含一些非亞洲文本的亞洲文本
keep-all:與所有非亞洲語言的 normal 相同。對於中文,韓文,日文,不允許字斷開。適合包含少量亞洲文本的非亞洲文本
說明:
設定或檢索對象內文本的字內換行行為。尤其在出現多種語言時。
對於中文,應該使用 break-all 。
此屬性對於 currentStyle 對象而言是唯讀。對於其他對象而言是可讀寫的。
對應的指令碼特性為 wordBreak 。
樣本:
p {word-break : break-all; }
應用於:
IE5.0+
word-wrap版本:IE5.5+專有屬性 繼承性:有
文法:
word-wrap : normal | break-word
取值:
normal : 預設值。允許內容頂開指定的容器邊界
break-word : 內容將在邊界內換行。如果需要,詞內換行( word-break )也將發生
說明:
設定或檢索噹噹前行超過指定容器的邊界時是否斷開轉行。
此屬性僅作用於有布局的對象,如塊對象。內聯要素要使用該屬性,必須先設定對象的 height 或 width 屬性,或者設定 position 屬性為 absolute ,或者設定 display 屬性為 block 。
此屬性對於 currentStyle 對象而言是唯讀。對於其他對象而言是可讀寫的。
對應的指令碼特性為 wordWrap 。
樣本:
p { word-wrap: break-word; word-break: break-all; }
注意這個
break-word : 內容將在邊界內換行。如果需要,詞內換行( word-break )也將發生
所以 word-wrap夠用了,預設會不拆開單詞換行,但是如果真有一個非常長的單詞,比如上次某發錯了版的史上最恐怖的12個英文單詞,它也是會拆行的,這樣避免了表格被撐壞。
不過這個沒有被w3c作為css2的標準,所以Mozilla 不支援這個屬性,如果大家都好好寫英文單詞就沒事情,Firefox也是不拆開單詞換行的,如果碰到有人寫很長的單詞,Mozilla Firefox就不會換行一直撐破了。