Codepen示例为here。
问题。如何将不是div.b
后代的所有输入涂成黄色?
我的尝试将所有三个元素都涂成黄色:
:not(.b) input.myInp {background:yellow}
谢谢!
答案 0 :(得分:1)
:not(.b) > div > p input.myInp {background:yellow}
您需要使选择器足够具体,使其与父.a元素不匹配。
答案 1 :(得分:0)
您的选择器不起作用,因为您要定位的是没有类.b
但具有<input>
后代并且输入有两个祖先的 any 元素没有此类的元素,规则也适用于它们。
您应该仅通过在选择器中包含父项来指定要引用的容器本身:
div.a > :not(.b) input.myInp {background:yellow}