首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >css :not()选择器中的嵌套

css :not()选择器中的嵌套
EN

Stack Overflow用户
提问于 2014-02-14 12:38:11
回答 1查看 13.4K关注 0票数 16

是否可以在:not选择器中嵌套值?例如:

代码语言:javascript
运行
复制
:not(div > div)

每当我尝试它时,它似乎都不起作用。也许你需要用另一种方式来使用它,而我还没有弄明白?到目前为止,在我看到的所有示例中,您只能在此选择器中使用一个值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 12:43:51

:not()一次只接受一个简单的选择器;这在Selectors 3 spec中提到过

否定伪类:not(X)是一个以simple selector (不包括否定伪类本身)作为参数的函数表示法。它表示一个未由其参数表示的元素。

示例中的简单选择器将是您拥有的两个div令牌。其他简单选择器包括类选择器、ID选择器、属性选择器和伪类。它不接受多个简单的选择器,也不接受像>或空格这样的组合符。

根据您尝试准确选择的元素,可能无法排除div > div

  • 如果您只想选择div的子级元素,而这些元素本身不是div,请改用以下代码:

  • >:not ( div )

div如果您只想选择其父元素不是div的div元素,请改用以下命令:

:not(div) > div

如果你想单独使用这个否定,选择所有其他元素,那么就没有办法只使用一个选择器。

在CSS中,我能想到的唯一可行的变通方法是在没有:not()表达式的情况下将样式应用于您想要的元素,然后在div > div中撤消它们。这适用于您尝试针对的任何一组元素;缺点是并非所有属性都可以轻松重置。

或者,如果您使用的是支持:not(div > div) unlike the CSS version的jQuery,您可以将选择器放在脚本中,例如,让jQuery将一个类名应用于这些元素,然后在您的CSS中以该类为目标。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21770960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档