伪类 与 伪元素 的区别?

阅读 W3C 对两者的定义:

CSS 伪类用于向某些选择器添加特殊的效果。

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

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

伪类种类

伪类.jpg

伪元素种类

伪元素.jpg

总结

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

:Pseudo-classes
::Pseudo-elements

但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。
::Pseudo-elements表示法是在CSS 3中引入的,::符号是用来区分伪类和伪元素的。支持CSS3的浏览器同时也都支持CSS2中引入的表示法:after。

注: IE8及6、7仅支持:after

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义 首先先来看看伪类与伪元素的定义w3c中对于它们是这么解释的 CSS中伪类与伪元素的概念是很容易混淆的,今天就...
    读书的鱼阅读 4,353评论 0 1
  • 本文转载自:众成翻译译者:为之漫笔链接:http://www.zcfy.cc/article/239原文:http...
    极乐君阅读 12,100评论 1 62
  • CSS伪类用于向某些选择器添加特殊的效果。 CSS伪元素用于将特殊的效果添加到某些选择器。 可以明确两点,第一两者...
    曾基锟阅读 5,022评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 前面和大家简单的聊了一下水电工和泥工,今天就和大家说说木工。 大家如果喜欢定制家具,就没必要请木工,毕竟家里所有的...
    遂心天涯阅读 3,658评论 0 3