1)伪类
用来抉择 DOM 树之外的信息, 以及增加一些选择器的特殊效果, 能够了解为是标签的一种状态, 这个状态是非动态的, 当元素达到一个特定状态时, 会有一个伪类的款式, 当状态扭转时, 又会失去这个款式
比方:hover,:active,:visited,:link,:focus,:first-child
2)伪元素
DOM 树没有定义的虚构元素, 须要创立通常不存在于文档中的元素, 比方::before,::after 将非凡的成果增加到选择器
3)区别
css3 中伪类应用单冒号示意, 伪元素应用双冒号示意
要害区别在于有没有伪元素, 如果须要增加元素能力达到成果, 则为伪元素, 反之则是伪类
伪类是基于一般 DOM 元素而产生的不同状态, 是 DOM 元素的某一特色
伪元素是创立在 DOM 树中不存在的形象对象, 而且这些形象对象是能拜访到的