伪 class :active,firefox 有 Bug?

Pseudo class :active, Bug in firefox?

例子是:https://codepen.io/anon/pen/zzrdmo

我不明白当我在 firefox 上 div 内的图标(标记)上使用 :active 伪类应用点击效果时,当我取消点击 div 时,它一直被点击...

我看到当我删除伪类 :active 中的相对位置时,这工作正常但没有效果...... 这个问题只发生在 firefox 中...在 chrome、safari 等中工作正常。 有人知道为什么吗?

谢谢。

编辑:第一个答案中解释了此问题的解决方法。 "but if you also add position: relative (without a top setting) to the hover state rule, this fixes the problem"-@Johannes 谢谢

:active 是在单击 link 之后的状态 - 浏览器仍显示旧页面,但已经尝试加载并打开新页面/目标页面。通常,除非新页面的加载时间很长,否则这个时间间隔很短,你几乎看不到它,这就是 active 状态经常与 CSS 相同的原因 hover - 它们之间没有视觉差异..

在您的示例中,源页面和目标页面是相同的 - 都是某个页面 link。显然不同的浏览器处理不同,关于 active 状态。有些人将 link 解释为 "new page loaded",其他人将其解释为 "still on the old page"(因此仍然有效)...