4

为什么我无法更改已访问链接的填充?我正在尝试这个:

HTML:

<a href="#">link</a>

CSS:

a{
    display: block;
    background: green;
    padding-left: 100px;
}

a:visited{
   background: red;
   padding-left: 0;
}

演示:http: //jsfiddle.net/ZVZWW/

4

2 回答 2

6

不幸的是,出于安全考虑,您可以应用于:visited元素的样式列表是有限的。过去,黑客能够通过检查正常链接样式与用户之前访问过的链接样式的差异来嗅探用户的历史记录。更多关于这里的安全问题,以及允许的样式:https ://blog.mozilla.org/security/2010/03/31/plugging-the-css-history-leak/

至于允许的样式和对:visited元素的修改,这是 MDN 记录的关于该主题的内容:

您仍然可以对访问的链接进行可视化样式设置,但现在可以使用的样式受到限制。只有以下属性可以应用于访问的链接:

color
background-color
border-color (and its sub-properties)
outline-color
fill and stroke colors

此外,即使对于您可以为已访问链接设置的属性,您也无法更改未访问链接和已访问链接之间的透明度,否则您将能够使用 rgba() 或 hsla() 颜色值或透明关键词。

于 2013-06-03T06:54:05.863 回答
3

只有以下属性可以应用于访问的链接:

color      
background-color
border-color (and its sub-properties)
outline-color

来源 : - Privacy_and_the_:visited_selector

于 2013-06-03T06:54:46.453 回答