pseudoclass和pseudoelement的异同

CSS 伪元素用于向某些选择器设置特殊效果

语法:

selector:pseudo-element {property:value;}
与伪元素配合使用
selector.class:pseudo-element {property:value;}

相同点:
    两者均以selector:或者selector.class:的形式开头。

不同点:

   伪类用于选择DOM树之外的信息,或是不能用简单选择器进行表示的信息。前者包含那些匹配指定状态的元素,比如:visited,:active;后者包含那些满足一定逻辑条件的DOM树中的元素,比如:first-child,:first-of-type,:target。
   而伪元素为DOM树没有定义的虚拟元素。不同于其他选择器,它不以元素为最小选择单元,它选择的是元素指定内容。比如::before表示选择元素内容的之前内容,也就是"";::selection表示选择元素被选中的内容。

<html>
<head>
<style>
p:first-child
{
color:blue;
}
</style>
</head>
<body>
<p>第一行将产生颜色效果</p>
<p>原效果</p>
</body>
</html>

原文地址:https://www.cnblogs.com/scg0624/p/9847747.html