html - 更改焦点上的链接颜色但不单击(鼠标或键盘单击)

标签 html css

我想在用户通过使用 TAB 键导航到它时将焦点放在链接上时更改链接的颜色。 这是简单的部分,因为它是这样完成的:

a:focus{ color: red; }

问题是,链接在激活时也显示为红色,例如:当用户单击“ENTER”键或单击鼠标左键时。

如何防止这种副作用并仅在用户使用“TAB”键关注链接时保持颜色?

我试过这个:

a:focus{ color: red; }
a:active{ color: blue; }

(蓝色为默认颜色) 它没有用,发生的事情是它首先将链接变成蓝色,然后在一瞬间变成红色......

我需要对我网站上的每个链接都这样做,所以我不想使用任何复杂的 javascript 代码来做到这一点,并希望只在 CSS 中做到这一点。

有什么建议吗?

编辑:我也试过这个:

a:active:focus{ color: blue; }

为了捕捉元素聚焦和事件的状态,所以我可以覆盖“焦点”CSS。 它也没有用。

最佳答案

问题是规则的顺序。

a:link
a:visited
a:hover
a:active
a:focus

焦点 必须是最后一个。 我试过了,效果很好。

关于html - 更改焦点上的链接颜色但不单击(鼠标或键盘单击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859604/

相关文章:

html - 在 Safari 中,align-self 未将容器中的内容与高度 100% 对齐

html - 使图像居中对齐

html - 为什么 <button> 标签内容的大小会改变它的位置?

css - 如何使用 unicode 字符而不是背景图像?

javascript - 尝试在第一次单击后保留的表格内创建下拉菜单

java - JSP 中的 Veracode 问题

jquery - 打印预览时的多种背景颜色

HTML5 音频直播流在设备中拒绝连接

html - 构建网站并显示使用 XSLT 转换的 XML 文档

html - 元标记在一个页面上不起作用,但在所有其他页面上都起作用?