word-wrap与word-break的区别,以及无效情况 - 小众知识

word-wrap与word-break的区别,以及无效情况

2022-08-18 14:14:49 苏内容
  标签: word
阅读:4240

两种方法的区别说明:

1,word-break:break-all 例如div宽400px,它的内容就会到400px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。

2,word-wrap:break-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。还有就是如果单词太长的话也会进行分割。

我遇到一个情况,就是我设置了:

word-break:break-all 或者word-wrap:break-word都无效,字符串不会自动换行。

经过查证,发现原因会有两个:

1、word-wrap对行内元素是没有效果的

2、一般情况下,元素拥有默认的white-space:normal(自动换行,不换行是white-space:nowrap),可能是元素中设置的white-space是norwrap导致,无法换行。所以需要

white-space:normal;
word-break:break-all;
这样问题就解决了。
white-space    对程序中的空白进行处理,默认是normal (浏览器会对空白进行忽略)
3、对table 的td 标签下的元素设置word-wrap:word-break是没有效果的 


css的样式的特性之一:重要性

重要规则:

不同的css样式具有不同的权重,对于同一元素,后定义的css样式会代替先定义的css样式,但有时候设计师需要某个css样式拥有最高的权重,此时就需要标出此css样式为“重要规则”。


阅读到一本书,书中贴了如下代码:


.font01{color: red;}


p {

color: blue; !important

}


<p class="font01">使用重要规则的时候这段文字 会显示为蓝色</p>

按照上诉重要性规则的介绍,在未加入!important代码时


<p class="font01">使用重要规则的时候这段文字 会显示为蓝色</p>

这段代码会优先显示.font01的样式,即文字内容显示为红色。




可是在我运行上诉代码时候,我发现!important并未起作用。即使加入!important文字依旧为红色,没有显示为蓝色。


后面查阅资料才发现 书上贴的代码是不使用的。


color: blue; !important    这种代码有问题

应该更正为:


color: blue !important;       

 (!important要包含在属性值和分号之间 如果在!important前插入分号 

 会导致重要规则无效。

扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1