伪类和伪元素的区别?

伪类

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

伪元素

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

 

css3规范中要求使用双冒号(::)表示伪元素,以此来区分伪类和伪元素。

比如:

::before和::after等伪元素使用双冒号(::)

:hover和:active伪类使用单冒号(:)

除了一些低于IE8版本的浏览器外,大部分浏览器都支持伪元素的双冒号(::)表示方法。

无论刮风还是下雨,太阳照常升起。