作为前端来说,你可能很常用一个功能,假如将其中的一个关键词 抽出,还能说出其用途的,绝对是细心的人,基础很夯实!

就好比说今天说的这个 unset , 从事前端工作3年还不认识这个 关键词,那就去重新复习css的基础吧!不是装逼之言,是真的!

我们经常写样式,一直就是给元素加各种各样的样式,有没有想过做“减法”,如何去掉一些样式?

减法并不是直接删掉这个样式,而是通过css减去一个样式!直接删掉将会影响全局其他地方的效果,只能通过css去掉减去做减法,才是高手能解决的事!例如:
1.如何去掉元素中的定位元素:position: absolute ?
2.如何去掉按钮的颜色,恢复默认的按钮颜色?
3.如何去掉元素的背景色?
4.伪元素样式冲突,必须干掉伪元素,如何做?

unset介绍

今天就说一下 CSS关键字 unset  的妙用!
unset,默认先从其父级继承属性,则将该属性重新设置为继承的值,有点像inherit;如果没有继承父级样式,则将该属性重新设置为初始值。

举例说明:
全局设置一个button按钮,字体颜色为黄色,背景色为红色;另外一个class为box的盒子,里面也有个按钮button,要求这个盒子,继承body的蓝色字体,并且去掉全部按钮的红色背景!!!
CSS关键字 unset 有什么用?-QUI-Notes
正常人思路:
针对.box的按钮继承body的蓝色字体,大多数人会想到 css3 变量var预设一个字体颜色,在button直接引用;背景色用none。

.box button {
 color: var(--cor);
 background: none;
}

基础夯实思路:
你如果知道unset,兼容性不比css变量高?

.box button {
 color: unset;
 background: unset;
}

关键词unset,直接去掉字体颜色,发现祖先body有color,就继承了bule这个颜色!同样unset去掉了按钮的红色背景,并没有找到父级/祖先有相关背景色,所以不得不继承了html默认的背景色——白色!

另外,一些抬杠的人会说,直接写死清空不就行了?
行,也是一种方法,强制执行的那种!

unset关键词用处很广,甚至连定位都可以去掉!当css需要做减法的时候就可以尝试一下这个关键词!