将用户代理颜色用于链接

时间:2014-12-23 09:59:35

标签: css

我有一个reset.css文件,用于设置链接的特定颜色。我必须使用这个重置文件,我不能从那里删除链接颜色。

因此,在重置中应用链接颜色后,我想重写它以再次使用浏览器的标准链接颜色。这有可能与CSS2?我在想像:

a:link { color: user-agent; }

2 个答案:

答案 0 :(得分:3)

在样式表中“重置”颜色(技术上,将其替换为新值)后,您无法以适用于所有UA的方式将其恢复为UA默认值。可能存在特定于实现的值和黑客攻击,但是没有标准的解决方案,并且可能并非每个实现都能提供或容纳这样的攻击。<​​/ p>

您可以做的最好的事情是近似不同UA共享的最接近的颜色。 HTML5规范列出了一些您可以使用的建议默认值。请参阅我对this question的回答。

答案 1 :(得分:2)

在webkit中,你可以这样做:

a {
    color: -webkit-link;
}

a:active {
    color: -webkit-activelink;
}

请参阅this jsfiddle

您可能需要添加!important,具体取决于您尝试覆盖的其他样式的优先级。不幸的是,我不知道Internet Explorer或Firefox的任何替代方案。您可能只需要查找颜色并使用CSS样式手动复制它们,特别是这些平台。例如,假设IE和Firefox使用#00f#30f(他们不是,但假设):

a {
    color: #00f;
    color: -webkit-link;
}

a:active {
    color: #30f;
    color: -webkit-activelink;
}

由于IE和Firefox无法识别-webkit前缀颜色,因此它们只会回归到之前声明的颜色。