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

(编辑:jimmy 日期: 2024/10/31 浏览:2)

一、浏览器自带的自动换行
各浏览器自身都带有自动换行功能,当浏览器显示文本的时候会让文本在浏览器或者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>


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

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

参考链接:

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

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。