怎樣用CSS解決英文單詞的自動換行的問題

來源:互聯網
上載者:User
關鍵字 網頁製作 CSS教程

防止表格/層撐破又防止單詞斷裂

英文單詞的自動換行問題可以說折磨過很多人
如果一個單詞寫很長,會把表格給撐破的,而管了的話就會拆開英文單詞.

防止表格被撐破

這個問題曾經有很多人提及的,後來在早期的版本裡我也解決過,可是導致了英文詞語被拆散換行,所以在做新的範本時沒有加上控制此項的一些css碼。 今天試驗了一下,發現解決的方法很簡單。

按照網上大多數文章的說法,只要在CSS中加入:
代碼
..........

table {

table-layout:fixed;word-break:break-all;word-wrap:break-word;}

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

就可以解決表格和層被撐破,最初我也是這樣做的。 不過這樣的代碼會造成一個問題,你會發現英文詞全部被截斷了,這不符合英語的書寫習慣也不利於閱讀。

後來我發現上述代碼改寫一下就可以做到既防止表格/層撐破又防止單詞斷裂了。
如下:
代碼

table {
table-layout: fixed;
word-wrap:break-word;
}
div {
word-wrap:break-word;
}

這也是現在我用的代碼。
-----------------------------------------------------

根據 蘇昱(Rainer Su) 的 CSS2中文手冊

word-break版本:IE5+專有屬性 繼承性:有
語法:
word-break : normal | break-all | keep-all
取值:
normal :  預設值。 允許在詞間換行
break-all :  該行為與亞洲語言的 normal 相同。 也允許非亞洲語言文本行的任意字內斷開。 該值適合包含一些非亞洲文本的亞洲文本
keep-all :  與所有非亞洲語言的 normal 相同。 對於中文,韓文,日文,不允許字斷開。 適合包含少量亞洲文本的非亞洲文本

說明:
設置或檢索物件內文本的字內換行行為。 尤其在出現多種語言時。
對於中文,應該使用 break-all 。
此屬性對於 currentStyle 物件而言是唯讀的。 對於其他物件而言是可讀寫的。
對應的腳本特性為 wordBreak 。
示例:
div {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 。
示例:
div { word-wrap: break-word; word-break: break-all; }

注意這個
break-word : 內容將在邊界內換行。 如果需要,詞內換行( word-break )也將發生

所以 word-wrap夠用了,預設會不拆開單詞換行,但是如果真有一個非常長的單詞,比如上次某發錯了版的史上最恐怖的12個英文單詞,它也是會拆行的,這樣避免了表格被撐壞。
不過這個沒有被w3c作為css2的標準,所以Mozilla 不支援這個屬性,如果大家都好好寫英文單詞就沒事情,Firefox也是不拆開單詞換行的,如果碰到有人寫很長的單詞,Mozilla Firefox就不會換行一直撐破了。
不知道css3會不會把這個屬性接受進去,不過說實話,太BT的單詞還好是...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.