CSS的伪类和伪元素
使用class属性描述的标记称为类,需要显式设定。HTML中还有一种类,称为伪类,并不需要显式加描述,而是一些标记内在的属性。
最常见的伪类是<a></a>标记的一些伪类,包括link、hover、visited、active,分别表示平常的超链接、鼠标移动经过的超链接、已点击过的超链接和激活的超链接。 为超链接的这些状态设置相应的CSS样式,就需要用a的伪类选择器,分别为a:link、a:hover、a:visited和a:active。示例:
a:link{ /*伪类选择器*/
text-decoration: none;
color: green;
}
这样设置后,一个链接就不再有下划线,而是变成绿色的文字。通过对伪类的CSS样式设置,可以修改浏览器默认的样式。同样可以设置:
a:hover{/*伪类选择器*/
text-decoration: underline;
color: red;
}
这是设置鼠标移动到超链接上时呈现的样式,出现下划线并变为红色。一般情况下,为了使超链接能受注意,要与平常状态下有差别。也同样可以设置已访问过的链接和激活的链接的样式,使用a:visited和a:active伪类。
在新的CSS版本中,不仅<a></a>标记有伪类,其他一些标记也有了伪类,主要是hover伪类,比如<img/>标记,就可以加上hover伪类,设置鼠标移动到图像上呈现的样式:
img:hover{/*伪类选择器*/
transform:rotate(15deg) scale(1.2);
}
设置后,当鼠标移动到图像上,图像会旋转15度,而且图像尺寸会放大到1.2倍,这时我网站首页上图片加的样式。不过这些新伪类不是所有浏览器都支持,而且有些浏览器还加了样式属性前缀,目前使用的还不多。
为标记添加的伪类还有:focus、:checked、:enabled、:disabled等,表示一个网页元素获得焦点、被选择、有效、无效时的状态,一般用于表单元素,不过使用的还不是很普遍。
新版本的CSS中还增加了很多伪元素,通过文档结构的相互关系来匹配特定的元素,如:first-child、:last-child、nth-child(n)分别表示第一个子元素、最后一个子元素和第n个子元素。使用伪元素,就可以省去加入class或id,定位方便。示例:
p:first-child{ /*伪元素选择器*/
color: green;
}
p:last-child{ /*伪元素选择器*/
color: blue;
}
这样,p标记内的第一个元素内的文字颜色就变为红色,而最后一个元素文字则为蓝色。
这类伪元素还有很多,不过目前并不是所以浏览器都支持,也不是所有都支持,就不细致介绍了,详见。
最常见的伪类是<a></a>标记的一些伪类,包括link、hover、visited、active,分别表示平常的超链接、鼠标移动经过的超链接、已点击过的超链接和激活的超链接。 为超链接的这些状态设置相应的CSS样式,就需要用a的伪类选择器,分别为a:link、a:hover、a:visited和a:active。示例:
a:link{ /*伪类选择器*/
text-decoration: none;
color: green;
}
这样设置后,一个链接就不再有下划线,而是变成绿色的文字。通过对伪类的CSS样式设置,可以修改浏览器默认的样式。同样可以设置:
a:hover{/*伪类选择器*/
text-decoration: underline;
color: red;
}
这是设置鼠标移动到超链接上时呈现的样式,出现下划线并变为红色。一般情况下,为了使超链接能受注意,要与平常状态下有差别。也同样可以设置已访问过的链接和激活的链接的样式,使用a:visited和a:active伪类。
在新的CSS版本中,不仅<a></a>标记有伪类,其他一些标记也有了伪类,主要是hover伪类,比如<img/>标记,就可以加上hover伪类,设置鼠标移动到图像上呈现的样式:
img:hover{/*伪类选择器*/
transform:rotate(15deg) scale(1.2);
}
设置后,当鼠标移动到图像上,图像会旋转15度,而且图像尺寸会放大到1.2倍,这时我网站首页上图片加的样式。不过这些新伪类不是所有浏览器都支持,而且有些浏览器还加了样式属性前缀,目前使用的还不多。
为标记添加的伪类还有:focus、:checked、:enabled、:disabled等,表示一个网页元素获得焦点、被选择、有效、无效时的状态,一般用于表单元素,不过使用的还不是很普遍。
新版本的CSS中还增加了很多伪元素,通过文档结构的相互关系来匹配特定的元素,如:first-child、:last-child、nth-child(n)分别表示第一个子元素、最后一个子元素和第n个子元素。使用伪元素,就可以省去加入class或id,定位方便。示例:
p:first-child{ /*伪元素选择器*/
color: green;
}
p:last-child{ /*伪元素选择器*/
color: blue;
}
这样,p标记内的第一个元素内的文字颜色就变为红色,而最后一个元素文字则为蓝色。
这类伪元素还有很多,不过目前并不是所以浏览器都支持,也不是所有都支持,就不细致介绍了,详见。