为什么我无法更改已访问链接的填充?我正在尝试这个:
HTML:
<a href="#">link</a>
CSS:
a{
display: block;
background: green;
padding-left: 100px;
}
a:visited{
background: red;
padding-left: 0;
}
答案 0 :(得分: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()颜色值或透明关键字。
答案 1 :(得分:3)
只有以下属性可以应用于访问过的链接:
color
background-color
border-color (and its sub-properties)
outline-color