http://jsfiddle.net/m7qLdstp/1/
<style>
:not(div p), p{
color: red
}
</style>
<p>This is a paragraph that should be red.</p>
<div><p>This is a paragraph that should not be red.</p></div>是否可以使用css *不是选择器(在本例中)将所有<p>颜色变为红色,除了任何<p>而不是<div>。
我运行了几个不同的变奏曲,但无法使它工作?!
发布于 2014-10-14 23:37:36
下面将更改所有<p>元素的颜色,这些元素不是<div>的直接后代
:not(div) > p{
color: red;
}演示小提琴
发布于 2014-10-14 23:36:41
你可以把他们分开
p{
color: red
}
div p{color:black}小提琴
这是因为div p比p更具体。
发布于 2014-10-14 23:40:36
根据CSS-戏法,:not()选择器只能采用“简单选择器”,定义为:
类型选择器、通用选择器、属性选择器、类选择器、ID选择器或伪类选择器
但是:
可能不包含附加选择器或任何伪元素选择器。
但是,正如其他答案所示,有一些方法可以解决这个问题并完成行为--至少在本例和其他简单案例中是这样的。
https://stackoverflow.com/questions/26372079
复制相似问题