我的 CSS 选择器":active"不起作用


#selec:active{background-color:#000000;}
<a href="<?php>phpscript-dynamic<?>"><div id="selec">TITLE</div></a>

但它不起作用...我正在使用<div><a></a></div>,但也不能工作。

有人可以帮助我吗?


代码:

::.CSS::

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

#selec:active{background-color:red;} #not 工作

::.PHP::

<a href="?room=<?php echo $ID;?>"><div id="selec"><?php $name;?></div></a>

谢谢

CSS3 规范指出:

可能存在特定于文档语言或实现的限制 哪些元素可以变为 :活动或获取 :焦点。

所以它并没有说明它不应该在你的div 上工作。由于规范对此很宽松,因此可能存在浏览器实现差异。@Engineer的演示向我展示了您的代码在Chrome中工作。

由于 a 元素在每个浏览器中肯定具有:active状态,因此以下内容肯定有效:

#selec a:active {background-color:#000000;}
<div id="selec"><a href="dynamic.php">TITLE</a></div>

在这里,您在#selec的孩子a上使用:active。您可以使用后代选择器。

它也应该反过来工作 - :active选择器仍在a上:

a:active #selec {background-color:#000000;}
<a href="dynamic.php"><div id="selec">TITLE</div></a>