css 无法覆盖“webkit-any-link”

ttcibm8c  于 2022-12-15  发布在  其他
关注(0)|答案(6)|浏览(246)

考虑:

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

我不能覆盖这个CSS。我试过post Blue lines under links on my site even though I've disabled all related CSS?。我试了很多次。还是不行。我不想修改每台机器来改变用户代理样式表。

lmyy7pcs

lmyy7pcs1#

如果你是说造型

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;
}

如果由于某种原因这不起作用,请添加其他选择器以增加specificity of your rule,例如,

body a{
   ...
}

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

color:olive !important;

观看现场直播:https://jsfiddle.net/panchroma/z7mkvbeu/
正如kca所建议的,MDN上的这一页有关于!important规则如何工作的很好的细节,但是为什么如果可能的话最好避免它。

ghg1uchk

ghg1uchk2#

我也遇到过类似的情况。

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

图标下划线,未消失

a {text-decoration: none;}

结果,浏览器仍然显示下划线。因为这个错误在另一个浏览器中不存在。解决方法非常简单:该高速缓存和cookie我没看出来。

w7t8yxp5

w7t8yxp53#

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

:-webkit-any-link {
}

:-moz-any-link {
}

:any-link {
}
csbfibhn

csbfibhn4#

当所有代码都正确时,大卫警告过你的特殊性是重写规则的关键。如果没有看到你的代码,我不知道这是否适用于你,但其他代码编写者可以登陆这里:请仔细检查您的规则。2很有可能您的规则中有一个打字错误,导致它无法被识别并应用默认值。

mzmfm0qo

mzmfm0qo5#

您可以通过设置属性来重写它

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

ngynwnxp6#

我也有同样的问题,奇怪的特异性。
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”标记样式,对我在inspect/dev tools(MS Edge)中看到的内容进行了截图,但问题没有再次出现。🤔

相关问题