January 17, 2008
CSS 扫盲(六):伪类
CSS 扫盲教程继续,这是第六期,主讲内容为 CSS 伪类。在与前五期扫盲教程相隔的这么多天中,我也陆续写过不多几篇 CSS 技巧或与 CSS 有关的东西,但最终没有归入这一系列,毕竟技巧归技巧,基础知识归基础知识嘛。——这一段其实全是废话,是我有意安排来凑版面的,下面正式开始:
CSS 伪类:用来给某些选择器或类添加特殊的效果。伪类的语法为:
selector.class:pseudo-class {property: value}
CSS 伪类不算是个陌生人,我们在平常的 CSS 编写时就会遇到很多,最常见的恐怕就是 :hover 了,大多数人可能不知道它就是一个伪类,但一定都知道它的用途。下面介绍几种常用的伪类:
可用于链接的伪类
a:visited {color: #00FF00} /* 已访问链接 */
a:hover {color: #FF00FF} /* 光标在链接上 */
a:active {color: #0000FF} /* 已选中链接 */
a:focus {color: #00FF00} /* 获得焦点的链接 */
除 CSS2 引入的 :focus 不被 IE 支持外,其余的四种伪类在 IE、Firefox 等浏览器中都是支持的。
使用的时候需要注意它们的顺序:a:hover 必须写在 a:link 和 a:visited 之后才有效。类似地,a:active 必须写在 a:hover 之后才有效!
另外,:hover、:active、:focus 这三个伪类还可用于其它元素,譬如 li、input、textarea 等。
:first-child CSS2 伪类
可为某个元素的第一个子元素添加样式。注意:要在 IE7 中使用 :first-child,必须为文档声明 !DOCTYPE;IE6 不支持 :first-child。
:lang CSS2 伪类
为不同语言指定不同的规则。示例如下:
<head>
<style type="text/css">
q:lang(no)
{
quotes: "~" "~"
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q>
Some text.</p>
</body>
</html>
上面这个页面的呈现效果将是:
Some text ~A quote in a paragraph~ Some text.
注意:IE 不支持 :lang。
以上这些就是 CSS 的伪类,种类并不多,在实际的应用中也不是必须的,但在某些情况下使用伪类,将会给你的网页带来与众不同的效果。
比方说吧,去过 jQuery 官方网站的都知道,那里的链接在点击的一瞬间会闪一下(切换为较亮的颜色)。起初我以为是 jQuery 的特效,但在 jQuery 中却找不着类似的功能,最后才发现这就是 CSS 伪类 a:active 的功能,囧。
附:
CSS 扫盲(一):Padding
CSS 扫盲(二):Syntax
CSS 扫盲(三):怎样插入一个样式表
CSS 扫盲(四):Background
CSS 扫盲(五):制作漂亮的双引号引用标志

报名参加扫盲班
Andor’s last blog post..themes for 2008-01-17
哈哈,我自己也是扫盲班一员。
等偶有时间了,我就好好把css啃下来.
漫步’s last blog post..Greasemonkey 脚本推荐:Google Account Multi-Login
打倒连a:active都不深究的人:)
underone’s last blog post..No money,No Mac
打倒不深究a:active的人
顺便说一句,输入验证码留言,我怀疑图片有人像我一样看不到(单位DNS的问题也许),留言还得挂着无界才能上来……
underone’s last blog post..No money,No Mac
测试?
underone’s last blog post..No money,No Mac
CSS我算是入门了,但高级功能一直理解不了
Player’s last blog post..visual studio.net已检测到指定的web服务器运行的不是asp.net1.1版
underone » 不好意思,刚刚把你的留言和 karma 恢复了。很久前静态化和 SK2 冲突误杀了你的留言,所以才会导致你在留言的时候需要输入验证码(正常留言时不会看到验证码,只有被 SK2 认为 karma 低于 0 高于 -10 的才看得到。)。你现在再试试,不需要验证码了,呵呵。
酱紫啊。。。。。。。
测试
underone’s last blog post..No money,No Mac
underone » 没问题了吧?呵呵。
恩。。。。。。。。。。。。。
underone’s last blog post..解决MS的Hotfix导致电驴的LowID