pseudo-class和pseudo-element的异同
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>