HTML / CSS:<a> tag CSS rules w/ pseudoclasses rendering inconsistently</a>

时间:2011-03-31 15:42:03

标签: html css anchor pseudo-class

我最近遇到的一个问题是我的网页设计项目一直微不足道,几次不动,但是它太烦人了。

说我有一个包含这些规则的样式表:

a {
    outline: 0;
    text-decoration: underline;
}

a:link {
    color: #0099FF;
}

a:visited {
    color: #0099FF;
}

a:hover {
    color: #FFFF00;
}

a:active {
    color: #33FF66;
}

我的文档中的链接有时只会具有正确的颜色,但有时它们只是默认的蓝色&gt;紫色链接。我在黑色背景上,所以看起来很糟糕。

如果我刷新页面,大约有一半的时间会正确呈现。这种情况在Firefox和Chrome中都会发生。

发生了什么事?

3 个答案:

答案 0 :(得分:4)

如果您目前正在开发css,那么浏览器很可能有错误版本的样式表的缓存版本,这可以解释为什么链接无法正确显示。

尝试以下方法: 在指向css的链接中,添加带有垃圾值的查询字符串。这将强制重新下载css并查看您的规则是否一致适用。如果他们这样做,那么你知道这是一个缓存问题。保留查询字符串,您的用户将重新下载css。 如果没有,那么你有一个CSS问题。下载firefox的firebug,检查其中一个不显示正确颜色的链接,并查看适用于它的规则。

以下是添加查询字符串的方法:

<link rel="stylesheet" type="text/css" href="style.css?v=3">

答案 1 :(得分:1)

当然这是一个老帖子,但我最近遇到了同样的问题。 经过几个小时的搜索,我终于意识到我的标记无效,因为使用以下语法:

<a href="somlink"><i>my link text</i></a>

这在所有浏览器中都能完美呈现,但当然我样式表中的'a'选择器还不够。 在这种情况下,我需要以下内容:

   a i, a:hover i, a:visited i
   {
       some rule....
   }

希望这可以帮助别人......

答案 2 :(得分:0)

听起来很奇怪。

首先,我会在你的color aa:link上匹配a:visited a { outline: 0; text-decoration: underline; color: #0099FF; }

a:link

这应该适用于它找到的每个锚标记。如果你有一个没有href的锚标签,{{1}}就不适用了。