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就不會換行一直撐破了。
以上是CSS讓英文單字的自動換行的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!