css 如何设置链接不同状态的颜色_link visited hover active 伪类

雨浩姑娘_3903

雨浩姑娘_3903

2026-01-18

1128人浏览

原创

CSS中link、visited、hover、active必须按LVHA顺序声明,否则样式会被覆盖;:visited受隐私限制仅支持有限颜色修改,且必须显式声明以避免:hover失效。

css 如何设置链接不同状态的颜色_link visited hover active 伪类

link、visited、hover、active 的声明顺序不能乱

浏览器按 a:link → a:visited → a:hover → a:active 的顺序匹配,如果顺序错(比如把 :hover 写在 :link 前面),部分样式会被覆盖。这是最常被忽略的底层规则。

  • :link 只对未访问过的链接生效
  • :visited 只对已访问过的链接生效,且受浏览器限制(不能读取颜色以外的大部分样式,比如不能改 background-color 或 font-size)
  • :hover 在鼠标悬停时触发,支持所有元素,不限于 @#@#@#@#@#@#@#@#@#@0 中,# 是空锚点,浏览器认为“已访问”,所以直接走 :visited 样式,:hover 看似没反应
  • 某些框架(如 Bootstrap)重置了 a 标签的 text-decoration,导致悬停时下划线不出现,误以为 hover 没生效

移动端 hover 的兼容性问题

iOS Safari 和 Android Chrome 对 :hover 支持有限:默认不触发,除非用户真“悬停”(实际是模拟的 tap delay)。更可靠的做法是用 :active 配合 touchstart 事件,或改用 JavaScript 监听 pointerdown 添加临时 class。

如果坚持用纯 CSS,可加一行增强响应:

java-api-doc-generator
java-api-doc-generator

分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。

下载
/* 正确:Link → Visited → Hover → Active */
a:link {
  color: #0066cc;
}
a:visited {
  color: #663399;
}
a:hover {
  color: #ff6600;
}
a:active {
  color: #cc0000;
}

这能让点击瞬间有视觉反馈,弥补 :hover 在触摸设备上的缺失。不过要注意:opacity 变化会影响整个链接(含子元素),若只需改文字颜色,仍建议用 color 单独控制。

真正麻烦的是 :visited 的隐私限制——你没法通过 JS 读取它是否被访问过,CSS 里也不能用 transition 动画它,连 color 都只能设为有限的系统色或灰度值。这点很容易在做动态主题时翻车。

a {
  -webkit-tap-highlight-color: transparent;
}
a:active {
  opacity: 0.7;
}

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2846

5

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.06

5719

7

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

2026.03.24

4067

22

bootstrap框架介绍
bootstrap框架介绍

本专题整合了bootstrap框架相关介绍,阅读专题下面的文章了解更多详细内容。

2026.03.18

745

21

bootstrap安装教程
bootstrap安装教程

本专题整合了bootstrap安装相关教程,阅读专题下面的文章了解更多详细操作教程。

2026.03.18

199

9

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

2024.01.03

4236

7

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

2025.12.06

306

9

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4616

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1395

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 6.1万人学习

CSS教程
CSS教程

共754课时 | 99.4万人学习