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

(编辑:jimmy 日期: 2025/4/22 浏览: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

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?