有没有办法在一个div中用单词包装长单词?
我知道Internet Explorer有一个单词包装风格,但我想知道是否有一个跨浏览器方法这样做的文本在一个div。
最好CSS但JavaScript片段也可以。
编辑:是的,指长string,欢呼的人!
阅读最初的评论,rutherford正在寻找一个跨浏览器的方式来包装完整的文本(通过使用IE浏览器,用于打破不间断的string)。
/* Source: http://snipplr.com/view/10979/css-cross-browser-word-wrap */ .wordwrap { white-space: pre-wrap; /* CSS3 */ white-space: -moz-pre-wrap; /* Firefox */ white-space: -pre-wrap; /* Opera <7 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* IE */ }
现在我已经使用了这个类,并且像魅力一样工作。 (注意:我只在FireFox和IE中testing过)
大多数以前的答案在Firefox 38.0.5中对我来说并不适用。 这样做…
<div style='padding: 3px; width: 130px; word-break: break-all; word-wrap: break-word;'> // Content goes here </div>
文档:
- 字断
- 自动换行
white-space: pre-wrap
quirksmode.org/css/whitespace.html
Aaron Bennet的解决scheme对我来说是完美的,但是我不得不从他的代码中删除这一行 – > white-space: -pre-wrap;
因为它给出了错误,所以最终的工作代码如下:
.wordwrap { white-space: pre-wrap; /* CSS3 */ white-space: -moz-pre-wrap; /* Firefox */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* IE */ }
非常感谢你
正如大卫所言,DIV默认包装单词。
如果你是指没有空格的长文本string,我所做的是处理string服务器端,并插入空的跨度:
thisIsAreallyLongStringThatIWantTo<span></span>BreakToFitInsideAGivenSpace
这是不正确的,因为有字体大小等问题。 如果容器大小可变,span选项就可以工作。 如果是固定宽度的容器,则可以继续并插入换行符。
您可以尝试为div指定宽度,无论是以像素,百分比还是ems为单位,此时div将保持该宽度,文本会自动换行,然后在div内。