如何解决:CSS选择器“:active”无法正常工作?

时间:2012-07-21 00:44:43

标签: css css-selectors hover

我很困惑,因为:悬停选择器正常工作,但是:活动不起作用。

情形:

首先:sample.com/game点击不同ID的链接框游戏(例如:ID 1-101),每个框使用css

#selec{background-color:white;-moz-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;}

点击其中一个方框ID转到sample.com/game?id=100

我成功悬停

#selec:hover{background-color:blue;}

但我想激活彩色背景,当盒子处于活动状态时(盒子ID 100带红色背景,其他仍然是白色,因为盒子100处于活动状态)

#selec:active{background-color:blue;}

但没有成功,为什么?????我仍然对此感到困惑。

这个php文件:

<a href="?game=<?php echo $ID;?>"><div id="selec"><div class="text"><p><?php echo $text; ?></p></div></div></a>

有人帮我解决这个问题吗?谢谢 * $text用于在框中输入名称,例如框ID 100是游戏RPG

1 个答案:

答案 0 :(得分:9)

:active CSS伪类适用于所有元素... 然而它只适用于链接(例如<a>元素),如果你没有渲染 Internet Explorer中的标准模式

因此,如果您没有设置DOCTYPE,它将无法在IE中<div>上运行。

将其添加到HTML的顶部:

<!doctype html>

每个伪类定义的顺序也很重要...(以确保它们都“覆盖”前一个)...只记得:

L ord V adar的 H andle F ormerly A nakin”

a:link    {color:blue;}
a:visited {color:green;}
a:hover   {color:red;}
a:focus   {color:orange;}
a:active  {color:yellow;} 

注意:感谢@BoltClock指示W3Schools网站上的错误http://www.w3schools.com/cssref/sel_active.asp,表明它仅在链接上可用。 (现代浏览器不再正确(在标准模式下渲染))

注2:W3C表示:在CSS 2.1中的所有元素中都添加了活动伪类,它只在CSS 1.0中的链接上: “注意。另请注意,在CSS1中,':active'伪类仅适用于链接。” http://www.w3.org/TR/CSS2/selector.html#pseudo-class-selectors