一般情況下,元素擁有默認的white-space:normal(自動換行,PS:不換行是white-space:nowrap),當錄入的文字超過定義的寬度後會自動換行,但當錄入的數據是一堆沒有空格的字符或字母或數字(常規數據應該不會有吧,但有些測試人員是會這樣子做的),超過容器寬度時就會把容器撐大,不換行。
解決方法(以IE,chrome,FF為測試浏覽器):
{
word-break:break-all; /*支持IE,chrome,FF不支持*/
word-wrap:break-word;/*支持IE,chrome,FF*/
}
以下是對這兩種方法的區別說明:
1,word-break:break-all 例如div寬200px,它的內容就會到200px自動換行,如果該行末端有個英文單詞很長(congratulation等),它會把單詞截斷,變成該行末端為conra(congratulation的前端部分),下一行為tulation(conguatulation)的後端部分了。
2,word-wrap:break-word 例子與上面一樣,但區別就是它會把congratulation整個單詞看成一個整體,如果該行末端寬度不夠顯示整個單詞,它會自動把整個單詞放到下一行,而不會把單詞截斷掉的。
3,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)也行發生說明:設置或檢索當當前行超過指定容器的邊界時是否斷開轉行。
建議:word-break 用3C檢測會顯示問題的,導致百度快照也會出問題-這個屬性OPERA FIREFOX 浏覽器也不支持 word-break屬性可以用white-space:normal;來代替,這樣在FireFox和IE下就都能正確換行,而且要注意,單詞間的空格不能用 來代替,不然不能正確換行。