[HTML] CSS中的折字換行或不換行(防止容器破壞)

URL Link //n.sfs.tw/10300

2016-11-26 11:41:22 By 張○○

在html最怕使用者留言時故意來搗蛋,用一串長長的字中間沒有任何空白的長字串,例如:

thisisatestbookthatisachart-------likethisshkhjkaruewknczxvjkruqtjnvzxcj

這種長長的字串往往會造成容器的破壞。因此對付這種沒有空白鍵的字串,就要強制換行,可以用word-wrap 和 overflow這兩個屬性

word-wrap: break-word; overflow:hidden;

word-wrap 屬性說明

overflow 屬性說明

另一種情況就是內容只要一行,不要自動換行,省去切字的麻煩。

white-space: nowrap;

再來可以使用white-space來對空白字元的行為作規範:

white-space 屬性說明

我可以解釋~~

補充說明

1. 使用特別的tag <wbr> 來處理長文字斷行的問題

2. 對中文(CJK)字來說,word-wrap 無論怎麼設置,都是會斷字,因為中文每個字都是獨立的,所以無論設定成 break-all或keep-all,都沒什麼差別。

3. overflow-wrapword-wrap是相同的。

參考資料

[1] OECSPACE http://www.hsiu28.net/style/style_11.php

[2] 螞蟻的css http://ant4css.blogspot.com/2009/01/whitespace.html

[3] https://developer.mozilla.org/ja/docs/Web/CSS/word-break


原文 2011-10-23 10:59:40