首頁  >  文章  >  web前端  >  css控制強制換行解決方法

css控制強制換行解決方法

高洛峰
高洛峰原創
2017-03-27 17:35:442239瀏覽

一、發現問題
一般情況下,元素擁有預設的white-space:normal(自動換行,不換行是white-space:nowrap),當輸入的文字超過定義的寬度後會自動換行,但當輸入的資料是一堆沒有空格的字元或字母或數字(常規資料應該不會有吧,但有些測試人員是會這樣子做的),超過容器寬度時就會把容器撐大,不換行。


二、解決方法
以div為例
div{
word-break:break-all;
word-wrap:break-word;
}


三、區別說明
① 對於截斷的理解
word-break:break-all
div寬200px,它的內容就會到200px自動換行,如果該行末端有個英文congratulation單字很長,會把單字截斷,變成該行末端為conra,下一行為tulation。

word-wrap:break-word
例子與上面一樣,但差異就是它會把congratulation整個單字看成一個整體,如果該行末端寬度不夠顯示整個單詞,它會自動把整個單字放到下一行,而不會把單字截斷掉的。

② 支援版本
word-break;break-all 支援版本:IE5以上此行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內斷開。該值適合包含一些非亞洲文本的亞洲文本。
word-wrap:break-word 支援版本:IE5.5以上內容將在邊界內換行。如果需要,詞內換行(word-break)也會發生。表格自動換行,避免撐開。

③ 語法
word-break : normal | break-all | keep-all
normal : 依照亞洲語言和非亞洲語言的文字規則,允許在字內換行
break- all : 該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內斷開。該值適合包含一些非亞洲文本的亞洲文本
keep-all : 與所有非亞洲語言的normal相同。對於中文,韓文,日文,不允許字斷開。適合包含少量亞洲文本的非亞洲文本

word-wrap : normal | break-word
normal : 允許內容頂開指定的容器邊界
break-word : 內容將在邊界內換行。如果需要,詞內換行(word-break)也行發生說明:設定或檢索噹噹前行超過指定容器的邊界時是否斷開轉行。


四、注意點
①如果發現些其中一個來控制換行無效,就寫上兩個。如td{ word-break:break-all;word-wrap:break-word }
②word-break 用3C偵測會顯示問題的,導致百度快照也會出問題,這個屬性OPERA FIREFOX瀏覽器也不支持word-break屬性可以用white-space:normal來代替,這樣在FireFox和IE下就都能正確換行,而且要注意,單字間的空格不能用來代替,不然不能正確換行。

以上是css控制強制換行解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn