CSS选择器中伪类和伪元素的区别

223 阅读1分钟

CSS选择器中伪类和伪元素的区别

1.历史

  • 伪元素在css2的时候,还是归在伪类之中的,当时没有分出来,所以在伪元素中的'after'的前面既可以加::也可以:,还有'before''first-letter''first-line'也是类似的。

  • 到了css3、伪元素单独划分了出来,并以 :: 开头,以区分以 : 开头的伪类,并新增了一些伪元素,比如::selection::placeholder

2.区别

2.1 概念上的区别

-   伪类:针对的是被选中元素的**状态****结构**-   伪元素:**创建**一个伪元素(不存在于HTML中,只存在于CSS中)/访问选中元素的**特定部分**

2.2 形式上的区别

-   伪类:以 : 开头
-   伪元素:以 :: 开头,也可以用 : (非css3新增)

2.3 用法上的区别

-   伪类:在一个整体选择上可以使用**多个**-   伪元素:在一个整体选择上只能使用**一个**