CSS选择器中伪类和伪元素的区别
1.历史
-
伪元素在css2的时候,还是归在伪类之中的,当时没有分出来,所以在伪元素中的
'after'的前面既可以加::也可以:,还有'before'、'first-letter'、'first-line'也是类似的。 -
到了css3、伪元素单独划分了出来,并以 :: 开头,以区分以 : 开头的伪类,并新增了一些伪元素,比如
::selection、::placeholder
2.区别
2.1 概念上的区别
- 伪类:针对的是被选中元素的**状态**、**结构**。
- 伪元素:**创建**一个伪元素(不存在于HTML中,只存在于CSS中)/访问选中元素的**特定部分**
2.2 形式上的区别
- 伪类:以 : 开头
- 伪元素:以 :: 开头,也可以用 : (非css3新增)
2.3 用法上的区别
- 伪类:在一个整体选择上可以使用**多个**。
- 伪元素:在一个整体选择上只能使用**一个**。