css 想为未访问的链接设置样式怎么办_使用 :link 伪类单独定义链接样式

轻敏吖_1371

轻敏吖_1371

2026-01-22

876人浏览

原创

必须用 :link 选择器设置未访问链接样式,它仅匹配含 href 且未被访问的链接,与 :visited 互斥;需遵循 LVHA 顺序,且仅支持 color、text-decoration 等非隐私敏感属性。

css 想为未访问的链接设置样式怎么办_使用 :link 伪类单独定义链接样式

未访问链接必须用 :link,不能只写 a

直接给 a 标签写样式,会同时影响所有状态(已访问、悬停、点击中、激活后),无法单独控制“从未点过”的链接。浏览器对链接状态有严格区分:只有 :link 专指 href 存在且尚未被用户访问过的链接。它和 :visited 是互斥的——同一个链接,要么匹配 :link,要么匹配 :visited,不会同时生效。

:link 必须配合 href 属性才起作用

没有 href 的 @#@#@#@#@#@#@#@#@#@0 → 匹配 :link

  • ❌ 无效:@#@#@#@#@#@#@#@#@#@1 → 某些浏览器可能跳过 :link
  • 顺序很重要::link 和 :visited 要放在 :hover 和 :active 前面

    CSS 伪类的层叠顺序(LVHA)必须遵守,否则 :hover 可能覆盖掉 :link 的颜色等声明。浏览器按声明顺序应用规则,后写的会覆盖前面同名属性。

    a:link {
      color: #0066cc;
    }
    a:visited {
      color: #666;
    }
    a:hover {
      color: #003366;
    }
    a:active {
      color: #ff6600;
    }

    如果把 a:hover 放在 a:link 前面,且两者都设了 color,那么悬停时虽然匹配 :hover,但一旦鼠标移开,:link 的颜色可能因顺序靠后而没生效——因为实际生效的是最后一条匹配规则。

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

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

    下载

    :link 无法设置某些隐私敏感样式

    出于安全限制,现代浏览器禁止通过 :visited(以及间接影响它的 :link)读取或设置以下 CSS 属性:背景图、background-color、border-color、outline-color、color 以外的文本相关属性(如 font-size、visibility)。这意味着你只能安全地用 :link 控制 color、text-decoration、cursor 等非泄露性样式。

    真正容易被忽略的是:哪怕只是想让未访问链接加个下划线、已访问的去掉,也得明确写 a:link { text-decoration: underline; } 和 a:visited { text-decoration: none; }——只写其中一条,另一条会回退到浏览器默认(通常是带下划线),而不是“保持不变”。

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

    相关文章

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

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

    下载

    相关标签:

    css javascript java js 浏览器

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

    相关专题

    更多
    javascriptvoid(o)怎么解决
    javascriptvoid(o)怎么解决

    javascriptvoid(o)的解决办法:1、检查语法错误;2、确保正确的执行环境;3、检查其他代码的冲突;4、使用事件委托;5、使用其他绑定方式;6、检查外部资源等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    2023.11.23

    636

    5

    java中void的含义
    java中void的含义

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

    2025.11.27

    371

    13

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

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

    2023.06.20

    4656

    8

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

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

    2023.07.28

    1395

    5

    js 字符串转数组
    js 字符串转数组

    js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.03

    1838

    5

    js是什么意思
    js是什么意思

    JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

    2023.08.17

    10203

    11

    js删除节点的方法
    js删除节点的方法

    js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

    2023.09.01

    1000

    4

    js截取字符串的方法
    js截取字符串的方法

    js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

    2023.09.04

    2924

    5

    Js中concat和push的区别
    Js中concat和push的区别

    Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

    2023.09.14

    1609

    5

    热门下载

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

    精品课程

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

    共14课时 | 1.6万人学习

    Bootstrap 5教程
    Bootstrap 5教程

    共46课时 | 6.1万人学习

    CSS教程
    CSS教程

    共754课时 | 99.6万人学习