将链接颜色重置为浏览器默认值

时间:2013-08-16 19:44:22

标签: css

有没有办法在浏览器默认后更改已访问和未访问的链接颜色?

在我的具体情况中,我有一个主样式文件包含:

a:link    { color: black; }
a:visited { color: black; }

我想用默认颜色渲染一些特定的链接。

编辑:这里有a jsFiddle。我希望default类的样式使其与浏览器默认值匹配。

10 个答案:

答案 0 :(得分:3)

修改

另一种方法是从一开始就避免这个问题。使用默认样式为特殊类提供您想要的特殊链接(让我们称之为.default),而不是:

a:link    { color: black; }
a:visited { color: black; }

使用not pseudo class并写下:

a:not(.default):link    { color: black; }
a:not(.default):visited { color: black; }

请注意,此伪类在IE 8及更低版本上不起作用。对于他们你可以使用一个特殊的CSS(我不喜欢它,但它会工作)。

答案 1 :(得分:2)

每个浏览器都不同。

您需要做的是从您尝试重置的浏览器(Gecko,WebKit或Trident)中获取样式表,并将其设为新的默认值。

来源:Browsers' default CSS for HTML elements

答案 2 :(得分:2)

如果这是控制你的标签的唯一css,那么只需删除那些,这将取消任何样式。你也可以改变颜色??像这样......

a:link {color: blue;}  
a:visited {color: purple;}

答案 3 :(得分:1)

您要查找的是revert关键字,但是大多数浏览器尚未实现该关键字,目前only Safari支持该关键字。 MDN的Browser compatibility部分列出了跟踪每个浏览器开发情况的链接。

总有一天它应该在任何地方都可以使用:

a { color: red; }
a.reverted { color: revert; }
<a href="#">red</a> <a class="reverted" href="#">default</a> <a href="#">red</a>

但是现在考虑一种解决方法。该功能还不存在。

答案 4 :(得分:0)

您只能摆弄网址。浏览器记录他们访问过的URL。如果他们正在呈现页面,并且该列表中出现特定的URL,则url将被着色为“已访问”。

您无法强制浏览器将URL视为已访问,除非他们确实在那里。但是,您可以通过添加与URL不同的内容使访问过的URL显示为“新”,以便它向浏览器显示新内容。 e.g。

example.com/foo.php
example.com/foo.php?random=value

都指向同一个脚本,但浏览器会将两者都视为“不同”。如果每次随机值发生变化,浏览器每次都会有效地认为它是一个全新的网址并将其标记为“新”。

答案 5 :(得分:0)

我想这里要问的一个问题是:为什么?你为什么要首先这样做?据我所知,无论如何都没有W3C标准来描述默认的链接颜色。 default的值(例如color)根本没有意义,因为不是是默认值。

说到这里,最合乎逻辑的方法就是自己设计风格。我不知道你的情况如何,但不管情况如何,如果你问如何恢复浏览器默认颜色,我很确定你做错了。所以,在我给你一个相当干燥的解决方案之前,我会问:你能给我们一些背景吗?如果您正在制作类似菜单栏链接的内容,并且您不希望这些菜单栏链接的相同样式泄漏到您的普通链接中,那么您应该使用某种容器来选择这些链接。< / p>

无论如何,这是干解决方案。大多数浏览器使用蓝色表示链接,紫色表示访问链接,红色表示活动链接。因此,类似下面的内容适用于采用这些颜色的浏览器(假设用户没有修改浏览器的样式表,在这种情况下,您可能想要了解或使用initial之类的内容,在Itay的答案中检查)。

a:link, a     { color: blue; }
a:visited     { color: purple; }
a:active      { color: red; }

答案 6 :(得分:0)

enter code here的A.class { 颜色:继承; }

指定颜色应该从父元素继承。

所以,如果你的身体是颜色:蓝色;然后是a.class {color:inherit},那么这些例子就是蓝色。同时,你可以使用a.class:link {color:blue}。当你访问链接时,另一个。

最好只需定制特别感兴趣的链接类别,默认情况下保留其余链接。

答案 7 :(得分:0)

不,如果已经更改了任何CSS属性,则无法将其设置为浏览器默认值(即,如果应用了任何样式表,则为该属性赋值。这取决于CSS的基本原理。

所以考虑问一个不同的问题。有一些方法可以限制CSS规则对特定元素的影响,而不是阻止所有链接看起来像链接。

答案 8 :(得分:-1)

通过在其上设置一个类来设置您想要样式的样式。

.class:link{}
.class:visited{}

然后保留其他默认值。

答案 9 :(得分:-1)

你可以用这个:
a { color: inherit; } 这将继承,因为没有其他链接颜色,所以浏览器将为链接提供自己的风格!