2012-08-30 33 views

回答

99

這是由於這樣的事實,你有一個長字沒有空格。您可以使用wrap屬性來使文本中斷:

#w74 { word-wrap: break-word; } 

它也有相當不錯的瀏覽器支持。 See documentation about it here

18

您應該使用overflow:hidden;scroll

http://jsfiddle.net/UJ6zG/1/

或PHP你可以短長的話...

+0

Awesome.sorry別說我希望它去像Gmail聊天或Facebook聊天:) – ZenOut

+0

下一行然後你可以使用@chipcullen的版本字處理包!演示:http://jsfiddle.net/UJ6zG/3/ – 2012-08-30 12:47:44

6

使用overflow:auto它會給您的文本滾動到div :)。

-3

如果它只是一個需要包裹2或3行的實例,我會在字符串中使用幾個<wbr>。它會像<br>那樣對待,但如果沒有必要,它不會插入換行符。

<div id="w74" class="dpinfo"> 
adsfadsadsads<wbr>fadsadsadsfadsadsa<wbr>dsfadsadsadsfadsadsads<wbr>fadsadsadsfadsadsadsfa<wbr>dsadsadsfadsadsadsfadsad<wbr>sadsfadsadsads<wbr>fadsadsadsfadsads adsfadsads 
</div> 

這是一個小提琴。

http://jsfiddle.net/gaby_de_wilde/UJ6zG/37/

57

使用

white-space: pre-line; 

這將防止文本流出div的。它會在文本到達div的末尾時破壞文本。

+0

這對我有用! – aletede91

2

我最近遇到這個。我用:display:block;

1

您需要將以下CSS屬性適用於容器塊(格):

overflow-wrap: break-word; 

根據規格(來源CSS | MDN):

overflow-wrap CSS屬性指定瀏覽器是否應在單詞內插入換行符以防止文本溢出其內容框。

隨着值設置爲break-world

爲了防止溢出,通常牢不可破詞語可在任意點被破壞,如果沒有以其它方式在該行上可接受的斷點。

值得一提...

酒店原本是非標準和前綴的Microsoft擴展名爲word-wrap,是由具有相同名稱的大多數瀏覽器來實現。它已被重命名爲overflow-wrap,其中word-wrap是別名。


如果你關心傳統的瀏覽器支持它的價值同時指定:

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

例。 IE9不承認overflow-wrap但工作正常word-wrap