2013-04-06 42 views
5

我有一個div和所有長字(沒有空格)在div外流動。防止長文字流出Div而不使用CSS中斷字

請不要將問題標記爲How to prevent long text from flowing out of a containerLong words are flowing out of the box - How to prevent?的副本,其中問題通過使用word-wrap: break-word;解決。

word-wrap: break-word;的缺點是,它也打破了位於div邊緣的短語,以破壞文本流的方式。我希望簡短的文字保持它們的樣子,只打破冗長的單詞。有沒有可能實現這一點?其他網站如何處理?

+0

怎麼樣把該分區或P標籤的DIV中,然後給該特別是在邊緣內的標籤? – Touch 2013-04-06 11:22:43

+0

這看起來像是一個巨大的缺陷或限制'break-word'。 JavaScript或jQuery是一個選項嗎?您可以識別可能比容器寬度更長的單詞,並將它們包含在應用了「分詞」的span標籤中。不確定是否有現成的jQuery插件可以做到這一點。 – 2013-04-06 14:29:08

回答

8

也打破短的話,它們在股利

這是不正確的邊緣... word-wrap: break-word;不應該這樣做。
也許你很困惑這與word-break: break-all;屬性(它不適用於所有瀏覽器)。

看到這個的jsfiddle一個比較: http://jsfiddle.net/Snu8B/3/

對於Firefox,你可以嘗試hyphens財產。

0

如果你願意爲「隱藏」的話,你可以用溢出玩:隱藏

.mydiv { 
    height : youchoose; 
    width : youchoose; 
    overflow: hidden; 
} 

否則:

word-wrap : normal|break-word; 
normal : Break words only at allowed break points 
break-word: Allows unbreakable words to be broken 

word-break: normal|break-all|hyphenate; 
normal : Breaks non-CJK scripts according to their own rules 
break-all : Lines may break between any two characters for non-CJK scripts 
hyphenate : Words may be broken at an appropriate hyphenation point