【问题标题】:Safari not showing visited color for svg icon that is inside an anchor tagSafari 不显示锚标记内的 svg 图标的已访问颜色
【发布时间】:2021-09-07 23:57:17
【问题描述】:

Safari 不显示锚标记内的 svg 图标的已访问颜色。

链接文本显示访问的颜色,但 svg 图标不显示。当我在 safari 中检查 svg 时,它显示它应该具有从链接继承的访问颜色:

如果我从检查器检查计算的样式,它还会显示它应该具有访问过的颜色:

是否可以让 Safari 显示 svg 图标的访问颜色?

Safari 版本:版本 14.1.1 (16611.2.7.1.4)

【问题讨论】:

  • 嗨,我有点困惑。如果我访问您的演示站点并将 --visited-link-color 更改为红色,我可以清楚地看到图标也变为红色。你确定图标没有变成正确的颜色吗?
  • 您使用 Safari 了吗?图标的颜色在 safari 14.1.1 上没有改变。我的同事对 safari 也有同样的问题
  • 啊,我的错!会再试一次...

标签: html css svg safari visited


【解决方案1】:

能够解决这个问题。图标颜色使用fill=currentColor 设置。并且由于某种原因,当访问状态打开时,Safari 没有为 svg 设置正确的 currentColor 值。解决方案是添加一个针对 svg 路径的更具体的 css 选择器:

.hds-link:visited svg g path {
   fill: var(--link-visited-color);
}

【讨论】:

    猜你喜欢
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多