今天在一个群里看到一个朋友问到css里边伪类和伪元素的区别,因为自己没分清楚伪元素和伪类,所以查了一下w3c。
首先, w3c 对两者的定义是:
-
CSS伪类用于向某些选择器添加特殊的效果。 -
CSS伪元素用于将特殊的效果添加到某些选择器。
可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果。这里特殊指的是两者描述了其他 css 无法描述的东西。
伪类:
伪元素:
总结一下,伪元素和伪类之所以这么容易混淆,是因为他们效果都很类似而且写法上边也都大同小异,但是 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
:Pseudo-classes
::Pseudo-elements
但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。
浙公网安备 33010602011771号