伪类

  • 用来添加一些选择器的特殊效果,如 :hover :active :visited :link :first-child 等。
  • 元素达到一个特定状态时,可能得到一个伪类的样式;当状态改变时,又会失去这个样式。
  • 功能和 class 有些类似,但它基于文档之外的抽象,所以叫伪类。

    伪元素

  • 不存在文档、DOM 树中的虚拟元素,如 ::before ::after

  • 伪元素控制的内容和元素没有差别,但伪元素本身只是基于元素的抽象,不存在文档中,所以称为伪元素,用于将特殊的效果添加到某些选择器里。