首页 > Web开发 > 详细

CSS属性探秘系列(一):word-break与word-wrap

时间:2015-12-30 11:03:46      阅读:136      评论:0      收藏:0      [点我收藏+]

一、浏览器自带的自动换行
各浏览器自身都带有自动换行功能,当浏览器显示文本的时候会让文本在浏览器或者div元素的右端自动换行。换行情况如下:

1.non-CJK:会在半角空格或者连字符(-)位置自动换行,不会在长单词的中间换行

2.CJK(中日韩):可以在任何一个CJK字体后换行

3.CJK中包含non-CJK:non-CJK部分按 non-CJK情况处理进行换行处理

4.CJK中含有标点符号时,浏览器不会让标点符号位于一个行的行首,会使标点符号和前一个字符组成一个整体进行换行。

二、word-break:
属性及浏览器兼容

value description IE FF Chrome& Safari Operanormal浏览器默认换行yesyesyesyeskeep-allCJK:不允许换行,non-CJK:与normal属性相同,IE中(对于CJK:在半空格、连接符或者任何标点符号处换行),chrome&safari不支持(使用默认换行)yesyesnoyesbreak-all允许单词内换行,IE(不允许标点符号位于行首),FF&Chrome&Safari(允许标点符号位于行首)yesyesyesyes

三、word-wrap:
1.取值:
normal:在半空格、连接符位置换行
break-word:允许在长单词(如URL地址)内部断行

2.支持所有浏览器

四、实例

复制代码
代码如下:

<style type="text/css">
.box{width:100px;height:100px;border:2px solid #f00;color:#333;font:12px arial;margin-bottom:10px;}
.keepall{word-break:keep-all;}
.breakall{word-break:break-all;}
.breakword{word-wrap:break-word;}
</style>



复制代码
代码如下:

<div class="box keepall">
自身都带有自动换行功能啊,AAAAAA BBBBBBBBBBBBB,CCCCCCCCC,的右端自动换行。
</div>
此例中注意keep-all在不同浏览器中的兼容,特殊符号处的换行!
<div class="box breakall">
自身都带有自动换行功能啊,AAAAAA BBBBBBBBBBBBB,CCCCCCCCC,的右端自动换行。
</div>
此例中注意逗号的位置!
<div class="box breakword">
自身都带有自动换行功能啊,AAAAAA BBBBBBBBBBBBB,CCCCCCCCC,的右端自动换行。
</div>


技术分享

五、word-break:break-all 与word-wrap:break-word区别?
看上图即可说明

参考链接:

https://developer.mozilla.org/en-US/docs/Web/CSS/word-break

CSS属性探秘系列(一):word-break与word-wrap

原文:http://www.jb51.net/css/234257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!