查漏补缺——说说unset属性
作者:互联网
问题
如题所示
答案
CSS 中的 initial、inherit、unset、revert、all
相关源码:
<div class="hzh-back-top" v-show="hzhShow" @click.stop="hzhGetTop">
<img class="img1" src="../../static/_hzh-tortoise.svg" alt="">
<img class="img2" src="../../static/hzh-tortoise.svg" alt="">
<p>回到顶部</p>
</div>
.hzh-back-top:hover .img1 {
display: none;
}
.hzh-back-top:hover .img2 {
display: unset;
}
unset属性意思是未设置,而不是不设置,其实,它是关键字 initial 和 inherit 的组合。
什么意思呢?也就是当我们给一个 CSS 属性设置了 unset 的话:
- 如果该属性是默认继承属性,该值等同于 inherit
- 如果该属性是非继承属性,该值等同于 initial
那么display是否可以继承?
也就是display这个属性不可以继承,那么也就是此时的值等同于 initial,那么这个属性又是啥意思呢?
根据上面可以知道,这个值会直接继承浏览器的默认值,那么display这个属性,浏览器的默认值是什么呢?
根据上面,我们可以知道display这个属性的默认值是inline-block,那么display: inline-block;
又是啥意思呢?
inline-block
代表的是该元素高度和宽度可以设置,并且元素会在同一行显示。
如果把以下代码删除:
.hzh-back-top:hover .img1 {
display: none;
}
,显示的效果是这样的:
按照原来的,光标移到乌龟上,乌龟壳会因为display: none;
而消失,又因为乌龟会unset属性,这里省略一大堆默认属性,反正它是显示出来了。
标签:block,查漏,initial,CSS,补缺,display,unset,属性 来源: https://www.cnblogs.com/Huang-zihan/p/16414659.html