在CSS2.1中,伪类包括链接伪类、动态伪类、静态伪类。
1.链接伪类:链接伪类适用于超链接标签,包括:link与:visited两个伪类。:visited可以对已经访问过的地址超链接进行样式定义。而:link标签则可以对包含无实际意义的所有未访问超链接进行样式定义,如<a name="section">Just the way you are</a>
(链接无href属性,即非链接)。
2.动态伪类:动态伪类包括:focus,:hover,:active三个伪类,:focus指示当前拥有输入焦点的元素(如键盘输入,可突出显示准备接受键盘输入的表单元素);:hover指示鼠标指针停留在哪个元素上;:active指示被用户输入激活的元素(如被鼠标点击的超链接)。
小结:以上两类伪类进行定义时的顺序非常重要,遵循love-hate原则,即link-visited-hover-active的顺序。
3.静态伪类:静态伪类包括:first-child,:first-letter,:first-line等伪类,这里重点介绍:first-child伪类。:first-child用于选择元素的第一个元素,注意这里选择到的元素是作为某元素的第一个子元素的元素,而非该元素的第一个子元素。如:
<div>
<p>Do <em>not</em>push the brake at the same time as the accelerator.</p>
<ul>
<li>Insert key</li>
<li>Turn key</li>
<li>Push accelerator</li>
</ul>
</div>
p:first-child{font-weight:bold;}
li:first-child{text-transform:uppercase;}
结果是对p元素内容设置粗体,对第一个li元素进行大写。