博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
word-break:break-all和word-wrap:break-word的区别
阅读量:4210 次
发布时间:2019-05-26

本文共 1009 字,大约阅读时间需要 3 分钟。

1. CSS的学习,就我个人看来,是有别于JavaScript这张传统程序语言的学习的。本身属性就多,值也多,不同属性在一起表现也不一样,不同属性和不同类型的HTML标签在一起又不一样,再加上兼容性差异和未定义行为。就像是很多个不确定因素,有着无穷多的组合和可能性。掌握这些不确定性,看书是绝对不够的,一定是要多多实践,多多思考,多多积累。对于底层机理的理解,也是需要一定的天赋的

2. 了解word-break属性

这里写图片描述

normal 使用默认的换行规则

break-all 允许任意非CJK(Chinese/Japanese/Korean)文本间的单词断行

keep-all 不允许CJK(Chinese/Japanese/Korean)文本中的单词换行,只能在半角空格或连字符处换行。非CJK文本的行为实际上和normal一致

3. 了解word-wrap属性

这里写图片描述

normal 就是大家平常见得最多的正常的换行规则

break-word 一行单词中实在没有其他靠谱的换行点的时候换行

4. 回归重点,word-break:break-all和word-wrap:break-word的区别

这两个声明都能是连续英文字符换行,那区别在哪里呢?

这里写图片描述

可以发现,word-break:break-all正如其名字,所有的都换行。毫不留情,一点空隙都不放过。而word-wrap:break-word则带有怜悯之心,如果这一行文字有可以换行的点,如空格,或CJK(Chinese/Japanese/Korean)(中文/日文/韩文)之类的,则就不打英文单词或字符的主意了,让这些换行点换行,至于对不对齐,好不好看,则不关心,因此,很容易出现一片一片牛皮癣一样的空白的情况。

至于如何记忆这两个CSS声明呢?

首字母走起:wbba(微博吧), wwbw(我五百万)

总结:

1. word-spacing是单词之间间距的,white-space是字符是否换行显示的

2. word-break:break-all正如其名字,所有的都换行。毫不留情,一点空隙都不放过

3. word-wrap:break-word则带有怜悯之心,如果这一行文字有可以换行的点,如空格,或CJK(Chinese/Japanese/Korean)(中文/日文/韩文)之类的,则就不打英文单词或字符的主意了,让这些换行点换行,至于对不对齐,好不好看,则不关心

你可能感兴趣的文章
c++14现代内存管理
查看>>
右值引用,move语义和完美转发
查看>>
c++使用宏检测类是否包含某个函数或者变量属性
查看>>
CSS之Multi-columns的column-gap和column-rule
查看>>
CSS之Multi-columns的跨列
查看>>
CSS之浮动(一)
查看>>
CSS之浮动(二)
查看>>
记腾讯互娱网站布局(1)
查看>>
记腾讯互娱网站布局(2)
查看>>
记腾讯互娱网站布局(3)
查看>>
大小不固定的图片和多行文字的垂直水平居中
查看>>
display:table-cell的集中应用
查看>>
display:table-cell自适应布局下连续单词字符换行
查看>>
0115 springboot template方式操作mongodb
查看>>
0116 spring的webFlux
查看>>
解决 Asp.net 中,url传参乱码 方法之一:(UrlDecode)
查看>>
pdf的转换网址:
查看>>
c++设计模式之三~抽象工厂模式
查看>>
c++设计模式之单例模式
查看>>
c++设计模式之建造者模式
查看>>