测试代码
下面是本文中用于测试三个样式属性展现情况的html代码:
<div id="box">
Hi ,
This is a incomprehensibilities long word.
</br>
你好 ,
这 是一个不可思议的长单词
</div>
可以正常发挥作用,而连续的空格会被缩减成一个(比如This和is之间的三个空格变成了一个),换行符也全都无效。句子超过一行后会自动换行,而长度超过一行的单个单词会超出边界。接下来我们看下, 给它上面三个css属性赋值后会出现什么变化。
white-space
|
nowrap |
pre |
pre-wrap |
pre-line。因为默认是 normal ,所以我们主要研究下其它四种值时的展现情况。
即初始情况,右侧为赋上相应值时的情况)white-space: nowrap
时的情况:
才能导致换行!所以这个值的表现还是挺简单的,我们可以理解为永不换行
。
其实是preserve
的缩写,这样就好记了。
就是 preserve
+wrap
,保留空格和换行符,且可以自动换行。
应该是 new line
的意思,自动换行还在,所以 pre-line
其实是 preserve
+new line
+wrap
。word-break
|
break-all |
keep-all。incomprehensibilities
这样一行都显示不下的单词,还是long
这样很短的单词,只要碰到边界,都会被强制拆分换行。所以用 word-break: break-all
时要慎重呀。word-wrap(overflow-wrap)
又叫做 overflow-wrap
:word-wrap 属性原本属于微软的一个私有属性,在 CSS3 现在的文本规范草案中已经被重名为 overflow-wrap 。word-wrap 现在被当作 overflow-wrap 的 “别名”。稳定的谷歌 Chrome 和 Opera 浏览器版本支持这种新语法。
的互补,它只有两个值:normal |
break-word,那我们看下 break-word
:所以我觉得 overflow-wrap
更好理解好记一些,overflow,只有长到溢出的单词才会被强制拆分换行!
属性除了列出的那三个值外,也有个 break-word
值,效果跟这里的 word-wrap: break-word
一样,然而只有Chrome、Safari等部分浏览器支持)总结
white-space:控制空白字符的显示,同时还能控制是否自动换行。它有五个值:normal |
nowrap|
pre|
pre-wrap|
pre-lineword-break:控制单词如何被拆分换行。它有三个值:normal |
break-all|
keep-allword-wrap(overflow-wrap):控制长度超过一行的单词是否被拆分换行。是word-break的补充,它有两个值:normal |
break-word
回复“加群”与大佬们一起交流学习~