有一个 div,它有 2 个类名。
like - <div class="A B">
我想要的是如果有.A.B {}
,它将被弃用.A{}
AND .B{}
样式,仅使用.A.B{}
style.
是否可以?
如果一个元素有类A
,那么它有类A
,并且您不能通过添加另一个类来“关闭它”B
。但我可以想到三种方法:
“正常”方法
定义属性.A.B
覆盖属性的规则.A
or .B
rules.
.A { color: blue; }
.B { color: green; }
.A.B { color: red; }
或者,如果您想“撤消”该个人.A
and .B
当两个类都存在时规则,然后:
.A.B { color: initial; }
initial是一个特殊值,基本上意味着默认值或继承属性的继承值。
Using all
有一个all
property 是指所有 CSS 属性的简写。你可能不应该使用这个,因为它有点像一把大锤,
.A.B { all: initial; }
这将重置所有属性.A.B
元素,包括在个别中指定的元素.A
and .B
规则,为其初始值。其他值all
财产包括inherit
and unset
。请参阅文档了解详情。
Using :not
另一种可能性是重写你的A
and B
规则排除两者一起指定的情况,通过使用:not
。然而,这也是一把钝刀,你可能会割伤自己,而且它不能很好地扩展到更多的类。
.A:not(.B) { /* rules for A by itself */ }
.B:not(.A) { /* rules for B by itself */ }
.A.B { /* rules for both A and B */ }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)