文本流出div

时间:2012-08-30 12:30:47

标签: css border

当文字没有空格超过div尺寸200px 时,它会流出来 宽度定义为200px 我已将代码放在http://jsfiddle.net/madhu131313/UJ6zG/ 你可以看到下面的图片 已修改:我希望文字转到下一行

enter image description here

enter image description here

10 个答案:

答案 0 :(得分:143)

这是因为你有一个没有空格的长词。您可以使用自动换行属性来使文本中断:

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

它也有相当不错的浏览器支持。 See documentation about it here

答案 1 :(得分:82)

使用

white-space: pre-line;

它会阻止文字流出div。当文本到达div的末尾时,它会中断文本。

答案 2 :(得分:23)

您应该使用overflow:hidden;scroll

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

或使用php,你可以缩短长话......

答案 3 :(得分:6)

您需要将以下CSS属性应用于容器块(div):

overflow-wrap: break-word;

根据规范(来源CSS | MDN):

  

overflow-wrap CSS属性指定浏览器是否应在单词中插入换行符以防止文本溢出其内容框。

将值设置为break-world

  

为了防止溢出,如果行中没有其他可接受的断点,通常不可破坏的单词可能会在任意点被破坏。

值得一提......

  

该属性最初是一个名为word-wrap的非标准且没有前缀的Microsoft扩展,并且由大多数具有相同名称的浏览器实现。它已被重命名为overflow-wrap,其中word-wrap是别名。

如果您关心旧版浏览器支持,则值得同时指定:

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

实施例。 IE9 无法识别overflow-wrap,但可以使用word-wrap

答案 4 :(得分:5)

使用overflow:auto它会在div :)中为您的文字添加滚动条。

答案 5 :(得分:3)

如果这有帮助。将以下带有值的属性添加到选择器:

white-space: pre-wrap;

答案 6 :(得分:1)

我最近遇到过这个。我用过:display:block;

答案 7 :(得分:1)

这个技巧对我有用:

{
  word-break: break-all;
  white-space: pre-wrap;
}

white-space
word-break

答案 8 :(得分:0)

这对我有用:

{word-break: break-all; }

答案 9 :(得分:-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/