不透明度a:访问过

时间:2012-02-09 17:56:32

标签: html css opacity

我无法使用firefox或IE

中的访问超链接

如果我设置了a的背景颜色:访问它将正常工作,但不会设置opactity。

有什么想法吗?

这是我的css:

a.photo
{
    display: inline-block;
}
a.photo img
{
    border: 1px solid #C8C8C8;
    background-color: #ffffff;
}
a:hover.photo img, 
a:active.photo img {
    background-color: #FF2D59;
    border: 1px solid #FF2D59;
}
a:visited.photo img 
{
    opacity: 0.4;
    filter: alpha(opacity=40); /* For IE8 and earlier */
}
a.small img
{
    width: 80px;
    height: 80px;
    padding: 6px;
}


<a href="#" class="photo small">
    <img src="http://www.w3schools.com/css/klematis.jpg" alt="small photo hyperlink" />
</a>

我不认为CSS的顺序有任何问题,因为如果我添加背景颜色,它可以正常工作:

a:visited.photo img 
{
    opacity: 0.4;
    filter: alpha(opacity=40); /* For IE8 and earlier */
    background-color: Gray;
}

2 个答案:

答案 0 :(得分:9)

  

SEC7115 :: visit和:链接样式只能因颜色而异。某些样式未应用于:已访问。

这是来自IE的开发人员工具控制台。我很确定Firefox会出现类似的错误。

对不起。那里做得不多。

答案 1 :(得分:3)

自2010年以来,Mozilla浏览器限制了可用于将访问过的链接设置为样式的CSS属性: - 颜色, - 背景颜色, - 边框颜色 - 轮廓颜色 - 以及填充和描边属性的颜色部分。

对于访问过的链接样式的任何其他部分,将使用未访问链接的样式。此外,对于您可以在上面更改的属性列表,您将无法设置rgba()或hsla()颜色或透明。

资料来源: http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/