0

我正在尝试使用 a:visited、a:link 等样式...我发现 a:visited 存在以下两个问题:

  • 为什么忽略 a:visited 的字体大小而使用 a:link 代替

  • 为什么背景颜色不显示取决于 a:link 是否具有背景颜色属性

例子

a:link {
  /*background-color:#ff8000;*/
  font-size: 28px;
}

a:visited {
  font-size: 12px;
  background-color: grey;
  color: #10aaf0;
}

我用谷歌搜索了一下并在w3schools中读到,大多数样式都是从 a:link 继承的,以解决安全/隐私问题,但我不明白为什么背景颜色只有在我明确地设置在 a:link 中时才有效,然后在 a:visited 中修改它。

TL;博士:

  • 为 a:link 显式设置背景颜色以让 a:visited 应用其自己的背景样式有什么区别?
  • 它对那些通过 CSS 进行的浏览器历史查询攻击仍然敏感吗?

在我尝试过的浏览器中,它的行为似乎相同:Chrome 45 和 IE 11。

4

1 回答 1

0

我不能谈论安全问题,因为我还没有听说过与锚标签相关的事情。但是a:link在大多数情况下,选择器的行为就像a因为它被应用于具有href属性的锚标签。并且a:visited仅适用于用户之前访问过的链接。除此之外,您应该注意声明样式的顺序。

例如看看这个:http ://codepen.io/anon/pen/ojzwgY

它在 Firefox、Safari 和 Chrome 中按预期工作

于 2015-09-23T21:33:56.047 回答