CSS3:Firefox不完全支持非否定伪类?
我试图使用CSS3:而不是规范中定义的伪类。根据报告: 否定伪类:not(X)是 一种采用简单符号的函数表示法 选择器(不包括否定) 伪类本身)作为参数。 它表示一个不存在的元素 以其论点为代表 所以我希望能够做这样的事情:CSS3:Firefox不完全支持非否定伪类?,css,css-selectors,Css,Css Selectors,我试图使用CSS3:而不是规范中定义的伪类。根据报告: 否定伪类:not(X)是 一种采用简单符号的函数表示法 选择器(不包括否定) 伪类本身)作为参数。 它表示一个不存在的元素 以其论点为代表 所以我希望能够做这样的事情: p:not(.class1, .class2) 但它在Safari或Firefox中似乎不起作用,它们应该完全支持该选择器 当参数是单个选择器时,它会起作用,例如: 下面是一个显示问题的示例: 根据博客文章,作者建议您应该能够指定多个选择器作为参数 同样根据这一点,Fir
p:not(.class1, .class2)
但它在Safari或Firefox中似乎不起作用,它们应该完全支持该选择器
当参数是单个选择器时,它会起作用,例如:
下面是一个显示问题的示例:
根据博客文章,作者建议您应该能够指定多个选择器作为参数
同样根据这一点,Firefox、Safari和Chrome完全支持:not选择器
是我误解了规范,还是浏览器实际上只对该选择器提供了部分支持?您可以链接它们(列出它们对我也不起作用)
Chrome10对我很有用。在CSS中,逗号(,
)分隔选择器。它本身不是选择器,因此不能在选择器内部使用。因此,取决于您是否要将规则应用于
- 非
的段落和非.class1
的段落.class2
- 既没有
也没有.class1
的段落,或class2
- 没有
和.class1
.class2
:not
,例如,在这种情况下,有一个适用于所有p
s的通用规则(使用您想在:not
规则中设置的属性)和一个适用于类的规则,并在必要时覆盖第一个规则的属性。注意:
p:not(.class1), p:not(.class2) {
}
因为,它与调用
p{}
相同(当您用“,”分隔时,它表示联合)。第一个有效标签集(不带class1
class的p标签)与第二个有效标签集(不带class2
class的p标签)结合。.class1、.class2
不是一个简单的选择器,根据定义:not(X)
只接受简单的选择器作为参数。那篇博客文章是错误的。如果Firefox在一次否定中支持多个选择器,那么它就不再支持了,而且这种行为是一个错误。@BoltClock Correct-在FF3.6和FF4中尝试过,但它不起作用,所以这个家伙一定是错的,而且博客日期是2008年8月25日,当时css3还是个婴儿。p:不(.class1.class2)不起作用。这不是有效的标记。@BoltClock是的语法/代码/随便什么-我经常混淆术语。英语不是我的母语:)似乎仍然不起作用,请参阅:-我希望排除所有具有.po或.no的P标记。好的,您的第二个示例似乎达到了预期效果。
p:not(.class1):not(.class2) {
...
}
p:not(.class1), p:not(.class2) {
}
p:not(.class1):not(.class2) {
}
p:not(.class1.class2) {
}
p:not(.class1), p:not(.class2) {
}