美文网首页
:not伪类

:not伪类

作者: 李霖弢 | 来源:发表于2019-08-07 10:41 被阅读0次

:not是唯一具有良好兼容性的逻辑伪类
其优先级不是类,而是由其括号中内容决定。
:not括号中不能支持多个选择器和选择器级联,只能传入单个选择器


全局否定的逻辑错误:

例如希望除了<article>标签下的<p>元素的margin值都是0,

:not(article) p {
    margin: 0;
}

看上去没有问题,但实际上:not(article) p语义是,如果<p>元素的祖先元素的标签名不是article,则margin值是0。

<article>
    <section>
        <p>margin此时也是0!<p>
    </section>
</article>

此时,虽然<p>在<article>内,但由于同时也在<section>元素内,于是匹配了:not(article) p这个选择器,导致出现意料之外的样式表现。

正确的书写应该是:

p {
    margin: 0;
}
article p {
    margin: 1em 0;
}

或者

:not(article) > p {
    margin: 0;
}

相关文章

  • CSS进阶知识点--CSS3伪类选择器和伪元素

    伪类选择器 动态伪类(锚点伪类、用户行为伪类) UI元素状态伪类 CSS3结构伪类 否定选择器 伪元素 动态伪类 ...

  • 第十二章 高级选择器

    伪类和伪元素区别 伪类一个冒号,伪元素两个冒号 一,伪类选择器 伪类性质: 伪类性质:加冒号不会对页面产生布局结...

  • jQuery添加/移除伪类(hover)

    伪类演示: 移除伪类:removeClass(hover) 结果是同上,没有任何变化。 :hover是伪类,伪类是...

  • CSS伪类和伪元素

    1. 什么是伪类和伪元素1.1. 伪类1.2. 伪元素1.3. 伪类与伪元素的区别 2. 使用 1. 什么是伪类和...

  • CSS

    伪类的语法: CSS 类也可与伪类搭配使用。 伪元素

  • 细说CSS伪类和伪元素

    原文 博客原文 大纲 1、伪元素2、伪类元素3、伪元素和伪类元素的区别4、伪类和伪元素的使用 1、伪元素 伪元素在...

  • CSS3 积累(2)之结构伪类选择器

    介绍 伪类选择器主要有动态伪类选择器、UI元素状态伪类选择器、结构伪类选择器和伪元素等,这篇主要讲讲什么是结构伪类...

  • 伪类和伪元素初探

    Css3为了区分伪类和伪元素,伪类使用单冒号:,伪元素使用双冒号:: 常见伪类有 :hover,:link,:ac...

  • 伪元素和伪类

    一、伪类 1.1 定义 css伪类:css伪类用于向某些选择器添加特殊效果。 伪类其实与普通的css类相类似,可以...

  • css伪类(Pseudo-classes) & after be

    anchor伪类 Eg: 伪类和CSS类 伪类可以与 CSS 类配合使用: 在一个节点前后加节点

网友评论

      本文标题::not伪类

      本文链接:https://www.haomeiwen.com/subject/mwnndctx.html