伪类指的是当元素处于某种状态时,应用对应的样式。比如说:hover,当鼠标悬浮在一个元素上时,就会应用:hover所指定的样式。除了:hover,还有:focus,:active等伪类可以用来表示元素的不同状态。
a:hover { color: red; }
伪元素则不同,它们可以用来在已有的元素中添加一些特殊的内容。伪元素应用的样式是在元素内部的某个位置应用的,比如说:before,可以在元素的内容前插入一些其他的内容。:after则在元素的内容后插入一些其他的内容。
p:before { content: "前言:"; }
需要注意的是,伪元素在页面上只能存在于已有元素的内部,而不能单独存在。另外,还有其他一些伪元素,例如:first-letter和:first-line,用来设置第一个字符和第一行的样式。
在使用CSS样式时,合理地运用伪类和伪元素可以方便地在页面上实现一些特殊效果,比如通过:hover实现鼠标悬浮时的样式变化,通过:before实现内容前添加特殊标记等。