【问题标题】:Pseudo class :active not applying伪类 :active 不适用
【发布时间】:2014-12-21 01:09:35
【问题描述】:

我想在所选页面当前处于活动状态时使链接文本更改颜色。所以我使用了 :active 伪类,但它一直重置为一般链接颜色。我遵循级联规则,将 :active 放在最后,但它仍然不起作用。我还尝试在 :active 颜色中添加“!important”。结果还是一样。

我做了这个简单的测试,以便更容易查明和调整。

<div id="navigacija">
<a id="nav" href="index.html">home</a>
<a id="nav" href="random.html">random</a>
<a id="nav" href="random2.html">random2</a>
</div>

css 看起来像这样

#nav {
color:red;
text-decoration:none;}

#nav:hover {
color:blue;}

#nav:active {
color:black;}

所以发生的情况是 #nav:active 颜色仅在鼠标按下时才会应用。之后它恢复为红色的#nav 颜色。

【问题讨论】:

  • 这就是 :active 所做的 (developer.mozilla.org/en-US/docs/Web/CSS/:active)。您需要为相关的a 元素应用一个额外的类,以便在该页面上设置它的样式..
  • 我明白了。感谢您的快速而中肯的回应。我认为当您在所选链接上时,它会改变链接文本的颜色。

标签: css pseudo-class


【解决方案1】:

Active 用于当前元素被点击的时候。不适用于当 URL 与当前活动链接匹配时。

可能有更好的方法可以做到这一点,但我使用过的两种方法:

在从服务器生成页面时在链接上添加一个类,或者使用某种 JavaScript 来设置类。

两者的最终结果是这样的:

<div id="navigacija">
<a id="nav" href="index.html">home</a>
<a id="nav" class="current" href="random.html">random</a>
<a id="nav" href="random2.html">random2</a>
</div>

#nav {
color:red;
text-decoration:none;}

#nav:hover {
color:blue;}

#nav current {
color:black;}

【讨论】:

  • 感谢您的回答,非常感谢。
猜你喜欢
  • 2018-02-09
  • 1970-01-01
  • 2018-05-30
  • 2019-11-15
  • 1970-01-01
  • 2018-03-08
  • 2021-08-12
  • 2011-04-22
  • 2011-07-24
相关资源
最近更新 更多