一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

css word-break 和 word-wrap自动换行详解

时间:2012-09-13 编辑:简简单单 来源:一聚教程网

突然间发觉自己一直以来都是用以前的思维方式在写页面,很多细节的东西并未注意到。虽然是被截断了,但细节的问题还是存在,比如一个单词不希望被截断的时候也被截断了,这样就悲催了。

正常来说,一个英文单词再怎么样也不太可能会非常非常的长,一般都是测试人员在做页面测试的时候,使用了很长很长的单字节连续的字符,才会出现这样的问题。那么如果这个时候把word-break:break-all;换成word-break:keep-all;的话,情况又会改变了,如图:

单词能正常显示,而很长的长字符就会被强制换行了。上面两张截图是来自 Chrome 20.0.1132.57 m 版本的浏览器,如果在FF和IE中查看的话,IE这神奇的宝贝又出现了一个情况,中文字符中,以标点符号为基准来强制换行,如果没有标点符号的话,那么又一切正常,如图:

这个时候我已经开始迷惑了,到底应该是用哪个好呢?正常来说我们肯定是希望单词能正常换行而不是强制被断行,如果是这样的话,我们就应该是使用word-break:keep-all;word-wrap:break-word;的组合,但这样的话,IE浏览器的换行实在是太过于可怕了,纠结啊。

思前想后,这个还是以文本能正常被截断,还是放弃IE这个鸟玩意,断行就用word-wrap:break-word;这样一个算了吧,使用word-wrap:break-word;这个的话,各个浏览器都支持强制换行,如果遇到空格或者标点符号也会换行,一切都是那么滴完美。 (^。^)y-~~

下面这个是我测试时使用的HTML代码结构

文字啊文字,这里其实就是文字,想要更多的文字,那就开始复制……文字啊文字,这里其实就是文字,想要更多的文字,那就开始复制……文字啊文字,这里其实就是文字,想要更多的文字,那就开始复制……假如这里的文字内容是很长很长的话又没有标点符号的话那将会是怎么样的效果呢。结束!

 代码如下 复制代码
test text txt word copy now! test texttexttexttexttext txt word copy now! test text txt word copy now! test text txt word copy now! test text txt word copy now! test text txt word copy now! test text txt word copy now!

assssssssssssssssssssssssssssssssssssssssss333333333
 代码如下 复制代码
412341234adsfadfzxcvzcvdfgfnasdfadzvasdf234234adfvczx
 代码如下 复制代码
cvasdfasdf234adfzszxcvasdfasdf234234234azcvasdfad
 代码如下 复制代码
fasdf234adfasdf

 

然后这个是CSS代码,这部分的代码是结合word-break 和 word-wrap 在各个浏览器中的效果 用力点击蓝色文字

 

这段代码

 代码如下 复制代码


.word_break {float:left;width:200px;margin:10px;padding:10px;font-size:16px;font-family:simsun;border:1px solid #242424;zoom:1;}

热门栏目