博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CSS 属性 - 伪类和伪元素的区别

Posted on 2016-06-12 20:48  の顶(⊙o⊙)  阅读(165)  评论(0)    收藏  举报

今天在一个群里看到一个朋友问到css里边伪类和伪元素的区别,因为自己没分清楚伪元素和伪类,所以查了一下w3c。
首先, w3c 对两者的定义是:

  • CSS 伪类用于向某些选择器添加特殊的效果。
  • CSS 伪元素用于将特殊的效果添加到某些选择器。

可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果。这里特殊指的是两者描述了其他 css 无法描述的东西。

伪类:

伪元素:

 

总结一下,伪元素和伪类之所以这么容易混淆,是因为他们效果都很类似而且写法上边也都大同小异,但是 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

:Pseudo-classes
::Pseudo-elements

但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。