CSS3:not()选择器

CSS3:not()选择器,css,css-selectors,Css,Css Selectors,在以下情况下,如何使用:not()将div.note em排除为粗体 div#内容em{ 字体大小:粗体; } /*我想删除以下内容 赞成:not选择器应用于上述*/ div#内容div.note em{ 字体大小:正常; } PS:这是一个简单的例子,实际上我在div#content em中有许多样式,我想应用于除div以外的所有样式。这就是为什么我不想在以后手动覆盖它们的原因…如果您知道#content和之间的确切层次结构。注意,您可以使用子选择器使否定足够具体,以便工作。如果.note是

在以下情况下,如何使用
:not()
div.note em
排除为粗体

div#内容em{
字体大小:粗体;
}
/*我想删除以下内容
赞成:not选择器应用于上述*/
div#内容div.note em{
字体大小:正常;
}

PS:这是一个简单的例子,实际上我在
div#content em
中有许多样式,我想应用于除
div以外的所有样式。这就是为什么我不想在以后手动覆盖它们的原因…

如果您知道
#content
之间的确切层次结构。注意
,您可以使用子选择器使否定足够具体,以便工作。如果
.note
#content
的子级,则使用:

#content>:不(.note)em,#content>em{}
如果在
#content
之间有两个
。注意
,请执行以下操作:

#content>div>div>:不(.note)em,#content>em{}

不过,您最好使用现有的,只覆盖作为的后代的em元素。注意。

由于后代组合子的性质,您无法单独使用
:not()
可靠地完成此操作。你必须创建某种复杂的选择器,这取决于你的HTML结构,这样做的努力不值得仅仅使用
div#content div.note em
覆盖规则。(我不知道这样的选择器是否可行。它真的取决于你的标记。)嗯,标记与CSS建议的非常相似。。。想象一下
div#content
就像
article
,然后
div.note
成为该文章中突出显示的信息框,除了
p
s、
blockquote
s、图像等所有其他内容之外,您确实不需要使用标记限定id和类选择器,除非添加标记会更改选择器(即,您有#content或.note元素不是div)。