是否可以在:not选择器中嵌套值?例如:
:not(div > div)
每当我尝试它时,它似乎都不起作用。也许你需要用另一种方式来使用它,而我还没有弄明白?到目前为止,在我看到的所有示例中,您只能在此选择器中使用一个值。
发布于 2014-02-14 12:43:51
:not()
一次只接受一个简单的选择器;这在Selectors 3 spec中提到过
否定伪类
:not(X)
是一个以simple selector (不包括否定伪类本身)作为参数的函数表示法。它表示一个未由其参数表示的元素。
示例中的简单选择器将是您拥有的两个div
令牌。其他简单选择器包括类选择器、ID选择器、属性选择器和伪类。它不接受多个简单的选择器,也不接受像>
或空格这样的组合符。
根据您尝试准确选择的元素,可能无法排除div > div
div
的子级元素,而这些元素本身不是div
,请改用以下代码:
div如果您只想选择其父元素不是div的div
元素,请改用以下命令:
:not(div) > div
如果你想单独使用这个否定,选择所有其他元素,那么就没有办法只使用一个选择器。
在CSS中,我能想到的唯一可行的变通方法是在没有:not()
表达式的情况下将样式应用于您想要的元素,然后在div > div
中撤消它们。这适用于您尝试针对的任何一组元素;缺点是并非所有属性都可以轻松重置。
或者,如果您使用的是支持:not(div > div)
unlike the CSS version的jQuery,您可以将选择器放在脚本中,例如,让jQuery将一个类名应用于这些元素,然后在您的CSS中以该类为目标。
https://stackoverflow.com/questions/21770960
复制相似问题