1
我有一堆的div我窝随意:选择器匹配不嵌套在另一个选择器中的元素?
<div>
<div>
<div>Apple</div>
<div>
<div>Banana</div>
<div>Grape</div>
</div>
</div>
<div>Craisin</div>
</div>
我让自己的内容粉红色,像这样的规则:
div { color: pink; }
我希望能够给special
类添加到任何那些div
s取消了它的粉红色规则及其所有子女。例如,如果我的special
类添加到这个格,
<div>
<div class="special">
<div>Apple</div>
<div>
<div>Banana</div>
<div>Grape</div>
</div>
</div>
<div>Craisin</div>
</div>
那么“苹果”,“香蕉”和“葡萄”应该不再是粉红色。
我可以调整我的规则,只匹配没有嵌套在.special
内的div吗?
我不想找一个解决方案,包括编写.special
的规则,该规则取消了在div
上定义的每种样式。例如,这是不是即使它的工作原理很好的解决方案:
.special, .special div { color: black !important; }
我的实际风格不仅仅是改变颜色更加复杂,并有与像div span
选择其他规则,我也想禁用与special
类。
所以没有办法写'.div:noparents(.special)'这样的东西? – alltom 2012-02-22 03:15:37
@alltom你不能选择一个孩子,然后是父母。 “父选择器”不存在于CSS中。实现此目的的唯一方法是:'div {color:red;} div.special,.special div {color:black;}'(假设黑色是默认颜色)。 – 2012-02-22 09:04:52