巧用css實現強制不換行、自動換行、強制換行

來源:互聯網
上載者:User

我們在寫頁面代碼的時候,有時把一個表格的寬度定死後會出現裡面的文字不見了,特別是英文。這就是他換行了所導致的,這時我們就需要加些CSS元素讓它來聽我們的話!根據自己以往的經驗,也參考了些網上的文章,具體如下:

強制不換行

div{
white-space:nowrap;
}


自動換行

div{ 
word-wrap: break-word; 
word-break: normal; 
}


強制英文單詞斷行

div{
word-break:break-all;
}

============================================

CSS設定不轉行:

overflow:hidden 隱藏
white-space:normal 預設 
pre 換行和其他空白字元都將受到保護
nowrap 強制在同一行內顯示所有文本,直到文本結束或者遭遇 br 對象


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

============================================

看了以上的介紹,趕快試一下,看看效果吧!

英文不換行

CSS裡加上 word-break: break-all; 問題解決。這個問題只有IE才有,在FF下測試,FF可以自己加捲軸,這樣也不影響效果

建議大家做Skin時,記得在body裡加 word-break: break-all; 這樣可以解決IE的架構被英文撐開的問題

以下引用word-break的說明, 注意word-break 是IE5+專有屬性

文法:

word-break : normal | break-all | keep-all

參數:

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

說明:

設定或檢索對象內文本的字內換行行為。尤其在出現多種語言時。
對於中文,應該使用break-all 。
對應的指令碼特性為wordBreak。請參閱我編寫的其他書目。

樣本:

div {word-break : break-all; }

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.