在css中,可以使用unset属性去掉color值,只需要给元素设置“元素{color:unset}”即可。如果CSS关键字unset从其父级继承,则将该属性重新设置为继承的值,如果没有继承父级样式,则将该属性重新设置为初始值。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
有以下场景:
你用了别人的UI框架,然后你发现,你给css动态赋的值,被UI框架的优先级更高的css覆盖了。你可以写js来改变它,但是如果有很多层循环+操作,你需要写一大段的js,此时js并不是最优的选择,你真正需要的是 'unset'属性
unset优先级
给某个关键字设置了unset,例如 color: unset; 它首选会选择继承父级的属性,然后才去选择继承本身属性值, 即: inherit > initial
例如:
本身属性值p和span设置了color值,如果设置了unset,就会去选择继承h_bg的color值。
HTML:
<header class="h_bg"> <p class="reset">title title title</p> <span class='reset'>text text text</span> </header>
CSS:
p{ color:red; } span{ color:blue; } .h_bg{ color:#FFF; background:#DEDEDE; padding:20px; text-align:center; width:200px; height:200px; } .reset{ color:unset; //去掉这个属性,文字会优先使用span和P的color值 }
推荐学习:css视频教程