自動(dòng)換行問題,正常字符的換行是比較合理的,而連續(xù)的數(shù)字和英文字符常常將容器撐大,挺讓人頭疼,下面介紹的是CSS如何實(shí)現(xiàn)換行的方法對(duì)于div,p等塊級(jí)元素正常文字的換行(亞洲文字和非亞洲文字)元素?fù)碛心J(rèn)的white-space:normal,當(dāng)定義的寬度之后自動(dòng)換行
一般情況下,元素?fù)碛心J(rèn)的white-space:normal(自動(dòng)換行,PS:不換行是white-space:nowrap),當(dāng)錄入的文字超過定義的寬度后會(huì)自動(dòng)換行,但當(dāng)錄入的數(shù)據(jù)是一堆沒有空格的字符或字母或數(shù)字(常規(guī)數(shù)據(jù)應(yīng)該不會(huì)有吧,但有些測(cè)試人員是會(huì)這樣子做的),超過容器寬度時(shí)就會(huì)把容器撐大,不換行。
解決方法(以IE,chrome,FF為測(cè)試瀏覽器):
復(fù)制代碼代碼如下:
{
word-break:break-all; /*支持IE,chrome,F(xiàn)F不支持*/
word-wrap:break-word;/*支持IE,chrome,F(xiàn)F*/
}
以下是對(duì)這兩種方法的區(qū)別說明:
1,word-break:break-all 例如div寬200px,它的內(nèi)容就會(huì)到200px自動(dòng)換行,如果該行末端有個(gè)英文單詞很長(zhǎng)(congratulation等),它會(huì)把單詞截?cái),變成該行末端為conra(congratulation的前端部分),下一行為tulation(conguatulation)的后端部分了。
2,word-wrap:break-word 例子與上面一樣,但區(qū)別就是它會(huì)把congratulation整個(gè)單詞看成一個(gè)整體,如果該行末端寬度不夠顯示整個(gè)單詞,它會(huì)自動(dòng)把整個(gè)單詞放到下一行,而不會(huì)把單詞截?cái)嗟舻摹?
3,word-break;break-all 支持版本:IE5以上 該行為與亞洲語言的 normal 相同。也允許非亞洲語言文本行的任意字內(nèi)斷開。該值適合包含一些非亞洲文本的亞洲文本。
word-wrap:break-word 支持版本:IE5.5以上 內(nèi)容將在邊界內(nèi)換行。如果需要,詞內(nèi)換行( word-break )也將發(fā)生。表格自動(dòng)換行,避免撐開。
語法:word-break : normal | break-all | keep-all
參數(shù): normal : 依照亞洲語言和非亞洲語言的文本規(guī)則,允許在字內(nèi)換行
break-all : 該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內(nèi)斷開。該值適合包含一些非亞洲文本的亞洲文本
keep-all : 與所有非亞洲語言的normal相同。對(duì)于中文,韓文,日文,不允許字?jǐn)嚅_。適合包含少量亞洲文本的非亞洲文本
語法: word-wrap : normal | break-word
參數(shù): normal : 允許內(nèi)容頂開指定的容器邊界
break-word : 內(nèi)容將在邊界內(nèi)換行。如果需要,詞內(nèi)換行(word-break)也行發(fā)生說明:設(shè)置或檢索當(dāng)當(dāng)前行超過指定容器的邊界時(shí)是否斷開轉(zhuǎn)行。
建議:word-break 用3C檢測(cè)會(huì)顯示問題的,導(dǎo)致百度快照也會(huì)出問題-這個(gè)屬性O(shè)PERA FIREFOX 瀏覽器也不支持 word-break屬性可以用white-space:normal;來代替,這樣在FireFox和IE下就都能正確換行,而且要注意,單詞間的空格不能用 來代替,不然不能正確換行。
以上就是對(duì)于CSS2種強(qiáng)制換行方法的區(qū)別分析了,小伙伴們看明白了嗎,能有所收獲就好。