无法覆盖“webkit-any-link”

问题描述 投票:0回答:7

考虑:

a:-webkit-any-link {
    color: -webkit-link;
    text-decoration: underline;
    cursor: auto;
}

我无法覆盖此 CSS。我尝试了该帖子 即使我禁用了所有相关 CSS,我网站上的链接下仍出现蓝线?。 我尝试了很多。但它仍然不起作用。我不想修改每台机器来更改用户代理样式表。

html css browser
7个回答
26
投票

如果你说造型

a:-webkit-any-link {
    color: -webkit-link;
    text-decoration: underline;
    cursor: auto;
}

以某种方式自动设置,并且您想要覆盖它,首先只需在 CSS 中设置锚点样式:

a, a:link, a:visited, a:focus, a:hover, a:active{
  color:olive;
  text-decoration:none;
  cursor: crosshair;
}

如果由于某种原因这不起作用,请添加其他选择器以增加规则的特异性,例如,

body a{
   ...
}

如果这仍然不起作用,请使用可怕的

!important

color:olive !important;

观看直播:https://jsfiddle.net/panchroma/z7mkvbeu/

按照 kca 的建议,MDN 上的这个页面详细介绍了

!important
规则的工作原理,但为什么最好尽可能避免使用它。


1
投票

我也遇到过类似的情况。

<a href="#">
    <i class="icon-home"></i>
</a> 

图标下划线,之后没有消失

a {text-decoration: none;}

结果浏览器仍然显示下划线。因为在其他浏览器中不存在此错误。 解决方案非常简单:清除缓存和cookie。 这对我来说并不明显。


1
投票

尝试通过以下方式全局覆盖它(注意不要使用逗号分隔来组合它们):

:-webkit-any-link {
}

:-moz-any-link {
}

:any-link {
}

1
投票

我也遇到了同样的问题,奇怪的特殊性。

webkit-any-link
颜色覆盖了我的班级颜色,例如 HTML 中的 nav
.nav-item-style{color: ...}
,例如:

<body>
  <nav>
     <a class="nav-item" ...

我的修复与上述相关,将“a”标签添加到我的 CSS 重置部分,没有颜色,并以某种方式修复了它。

a,
a:link,
a:visited,
a:focus,
a:hover,
a:active {
  text-decoration: none;
  cursor: pointer;
}

有趣的是,我随后删除了“a”标签样式,以截取我在检查/开发工具(MS Edge)中看到的内容的屏幕截图,并且问题没有再次出现。 🤔


0
投票
当所有代码都正确时,

大卫警告过您的特殊性是推翻规则的关键。如果没有看到您的代码,我不知道这是否适用于您,但对于其他编码员来说,请登陆这里:请仔细检查您的规则。 很可能您的规则有拼写错误,导致它无法被识别并应用默认值。


0
投票

:any-link { color: green } :any-link:active { color: orange }



0
投票

a:-webkit-any-link:hover { color: #f943a8; }

尚未测试这是否会延续到 MF 或 Safari,但使用 [-moz] 和 [-ms] 添加重复项应该涵盖所有内容

© www.soinside.com 2019 - 2024. All rights reserved.