css之word-break及word-wrap(overflow-wrap)

目录

一、介绍

二、word-break

2.1、normal

2.2、break-all

2.3、keep-all

2.3、break-word

三、overflow-wrap

参考


一、介绍

今天学习markdown时,遇到了一个概念,“hard-wrapped”,然后网上搜索,发现一堆名词,如:line break、word wrapping、word wrap、line wrap???啥东东?头都大了。最后发现它们只是概念模糊,但是想表达的无非就是软换行硬换行。软换行有两种方式,其中就是自动换行,自动换行涉及到一个word-wrap的概念。word-wrap指的是内容要超出该行范围时,具体如何换行。

接下来讨论的就是css中的word-break和word-wrap(overflow-wrap)样式,如果不懂的,先了解一下换行的概念,请参考我的博客:Line breaking 换行

至于其他的比如hyphens  样式,这里不讨论了,毕竟中文环境下,用不到了吧。。 

二、word-break

html中文本可以自动换行,而word-break则规定哪里自动换行,word-break默认normal,下面给出所有取值:

ValueDescription
normalDefault value. Uses default line break rules
break-allTo prevent overflow, word may be broken at any character
keep-all Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as value "normal"。也就是中文不自动换行了,而英文使用默认换行方式
break-wordTo prevent overflow, word may be broken at arbitrary points。这是不是标准化的值,因此才会出现word-wrap(overflow-wrap)
initialSets this property to its default value. Read about initial
inheritInherits this property from its parent element. Read about inherit

2.1、normal

使用默认值,那么会默认在word(汉字)或者标点符号后换行。但是对于英文来说,有些单词很长以至于即使换行也容纳不下时,还是会溢出的。而汉字也就占两个字节,还是放得下的。

2.2、break-all

对于中文没啥影响,英文的话,如果溢出时可以在任何地方换行,包括在单词内的某个位置换行。下图已用不同颜色标注了3个单词,发现快溢出时就换行了,不管是在什么位置。

2.3、keep-all

中文不自动换行,英文表现出和normal一样的行为

2.3、break-word

可以发现,normal模式下,单词过长会溢出,但是break-word模式下,单词过长就在单词内换行。注意,该值未列入标准

三、overflow-wrap

overflow-wrap原先名做word-wrap,后被改名为overflow-wrap,word-wrap作为别名。默认normal值,可选break-word,就是因为word-break的break-word未列入标准,才会一般使用overflow-wrap的break-word值。效果和word-wrap的break-word一样。

 

参考

Line breaking 换行:https://blog.csdn.net/jdbdh/article/details/83685804

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

overflow-wrap:https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap

word-break:https://www.w3schools.com/cssref/css3_pr_word-break.asp

word-wrap:https://www.w3schools.com/cssref/css3_pr_word-wrap.asp

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值