对于我正在开发的 CSS 框架,我正在使用all: unset
,它本身可以正常工作:
#foo { all: unset; }
但是,在某些情况下,我想“撤消”此规则的效果,如
#foo:hover { all: auto; }
但是,这显然不起作用,因为auto
for没有值all
。相反,我们有值inherit
and initial
,而不是“取消”该all
属性,而是具有不同的效果:将所有值恢复为其父值或初始值(我假设这意味着系统级默认值)。
为了完成我想要的,我目前正在做
#foo:not(:hover) { all: unset; }
例如,如果我想为多个伪类执行此操作,并且我更愿意覆盖该all: unset
属性,那么它工作得很好,但不是太可扩展?有什么办法吗?