美文网首页让前端飞web之路
【十六】CSS选择器:伪元素是怎么回事儿?

【十六】CSS选择器:伪元素是怎么回事儿?

作者: alanwhy | 来源:发表于2019-03-10 21:05 被阅读2次

所有前端体系的集合链接:web之路

选择器的组合

选择器列表是用逗号分隔的复杂选择器的序列;
复杂选择器则是用空格、大于号、波浪线等符号链接的复合选择器;
复合选择器则是连写的简单选择器组合;

选择器的连接方式可以理解为四则运算一样有优先级

  • 第一优先级:无连接符号
  • 第二优先级:空格、~、+、>、||
  • 第三优先级:,
.c,.a>.b.d {
    /*......*/
}

复合选择器表示简单选择器中“且”的关系。如:".b.d",表示选中的元素必须同时具有b和d两个class

复杂选择器是针对节点关系的选择

  • 空格:后代,表示选中所有符合条件的后代节点
  • >:子代,表示选中符合条件的子节点
  • ~:后继,表示选中所有符合条件的后继节点,后继节点即跟当前节点具有同一父元素,并出现在它之后的节点
  • +:直接后继,表示选中符合条件的直接后继节点,直接后继节点即nextSlibling
  • ||:列选择器,表示选中对应列中符合条件的单元格

选择器的优先级

CSS标准用一个三元组(a,b,c)来构成一个复杂选择器的优先级

  • id选择器的数目为a
  • 伪类选择器和class选择器的数目为b
  • 伪元素选择器和标签选择器数目为c
  • * 不影响优先级

行内属性的优先级永远高于CSS规则,浏览器提供了一个“口子”,就是在选择器前加“!import”。这个用法很危险,因为它相当于一个新的优先级,而且会高于一切行内属性

同一优先级的选择器遵循“后面的覆盖前面的”原则

<div id="my" class="x y">text<div>

.x {
    background-color:lightblue;
}
.y {
    background-color:lightgreen;
}

选择器的优先级是针对单条规则的,多条规则的选择器同时命中元素,优先级不会发生叠加

<div id="my" class="x y z">text<div>

.x {
    background-color:lightblue;
}
.z {
    background-color:lightblue;
}
.y {
    background-color:lightgreen;
}

最终是浅绿色的,选择器的优先级是针对复杂选择器的优先级,选择器列表不会合并计算优先级

伪元素

伪元素不仅是一种选择规则,还是一种机制

目前兼容性良好的有:

  • ::first-line
  • ::first-letter
  • ::before
  • ::after

前两者是比较类似的伪元素,其中一个表示元素的第一行,一个表示元素的第一个字母

CSS标准规定了first-line必须出现在最内层的块级元素之内

CSS标准要求前两者实现有限的几个CSS属性,都是文本相关,如图:


image.png

后两者不是把已有的内容套上一个元素,而是真正的无中生有,造出一个元素。

::before表示在元素内容之前插入一个虚拟的元素
::after表示在元素内容之后插入
并且所在的CSS规则必须指定content属性才会生效

这对于实现一些列表样式很有用

CSS选择器:伪元素是怎么回事儿?

相关文章

  • css伪元素

    css 伪元素 详述: 这篇文章是继 css的伪类 与 css 伪类选择器 后的 CSS伪元素总结, 意在总结连贯...

  • 伪类和伪元素

    伪类:CSS 伪类用于向某些选择器添加特殊的效果。 伪元素:CSS 伪元素用于向某些选择器设置特殊效果。 1、伪类...

  • 【十六】CSS选择器:伪元素是怎么回事儿?

    所有前端体系的集合链接:web之路 选择器的组合 选择器列表是用逗号分隔的复杂选择器的序列;复杂选择器则是用空格、...

  • CSS3新特性

    1.属性选择器 2.结构伪类选择器 3.伪元素选择器(重点) 伪元素选择器可以帮助我们利用CSS创建新标签元素,而...

  • CSS属性选择器

    CSS选择器主要分为五大类:元素选择器,关系选择器,属性选择器,伪类选择器和伪元素选择器。平时用的最多的是元素选择...

  • css伪类与伪元素

    1 CSS伪类:用于向某些选择器添加特殊的效果。 CSS伪元素:用于将特殊的效果添加到某些选择器。伪元素代表了某个...

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

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

  • 2019前端经典面试题 CSS 部分常见问题

    CSS部分常见问题 1、CSS3选择器有哪些? 答:属性选择器、伪类选择器、伪元素选择器。 2、CSS3新特性有哪...

  • 四十、CSS3的新特性(中)

    一、CSS3的新特性 1.1、伪元素选择器(重点) 伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HT...

  • CSS3积累(3)伪元素

    什么是伪元素? CSS 伪元素用于向某些选择器设置特殊效果。 代码 P.S. 在使用before或after伪元素...

网友评论

    本文标题:【十六】CSS选择器:伪元素是怎么回事儿?

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