# 伪类和伪元素

# 伪类

伪类用于当已有元素处于某种状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。

比如:

  • hover
  • visited
  • link

等等。

# 伪元素

伪元素用于创建一些不在文档树中的元素,并为其添加样式。

比如::before 来为一个元素前增加一些文本,并为这些文本增加样式。用户虽然可以看到这些文本,但是这些文本实际并不在文档树中。

# 区别

伪类的操作对象时文档树中已有的元素,而伪元素则创建一个文档树以外的元素。因此他们之间的区别在于:有没有创建一个文档树之外的元素

CSS3 规范中要求使用双冒号(:😃 表示伪元素,单冒号(😃 表示伪类