【问题标题】:Difference between "a" and "a:link"“a”和“a:link”之间的区别
【发布时间】:2012-04-28 14:54:14
【问题描述】:

aa:link 之间有什么区别,我什么时候使用一个而不是另一个?

【问题讨论】:

  • 顺便说一句,我建议始终使用前者。
  • @minitech:注意特殊性 - 类和伪类是相等的,这取决于您编写选择器的方式可能是好是坏。我通常将它用于我知道在任何其他链接状态中都不会改变的样式,并且仅在必要时使用覆盖。例如,某些字体样式,或更高级的东西 - 过渡。

标签: css css-selectors


【解决方案1】:

a:link 专门用于未访问过的链接。 a 适用于所有 <a> 元素。

【讨论】:

  • 对于:link:visited“链接”在 HTML 4 中定义为具有href 属性的<a> 元素。换句话说,a:link, a:visited 匹配与a[href] 完全相同的元素,而a 匹配任何元素,无论该属性是否存在。这个定义在the CSS2.1 selectors spec 中被提及。
  • 我不是 100% 确定这一点,所以我没有将其包含在我的答案中。感谢你的分享。很高兴知道这一点。
  • :link 指定未访问其目标(href 属性)的锚元素。 :visited targets 已访问目标的锚元素。 :link 和 :visited 是互斥的;
【解决方案2】:

John Conde 的回答和 cmets 很好地描述了选择器的含义,但要解决所提出的问题,我认为我们需要添加以下内容:

选择器a:linka 更具体。这一点在您考虑时很明显,但在考虑适用于一个元素的几个 CSS 规则的效果时可能会忽略它。

如果您想在一般链接上设置属性(例如,链接的字体),使用a 是最简单的如果您可以确保没有href 属性的a 元素不出现。 (通常使用带有name 属性的a 元素设置链接的目的地,通常没有href 属性;更现代的方法是在任何合适的元素上使用id 属性。)

但在大多数情况下,最好同时使用:link:visited,以避免将a 元素设置为非链接的风险。然后,您将使用:link, :visited {...} 设置所有链接的属性,并使用:link {...}:visited {...} 分别设置未访问链接和已访问链接的属性(通常为它们设置不同的颜色)。

:linka:link 之间的区别,除了特殊性之外,还在于:link 涵盖了归类为链接的元素。虽然目前只有 a 元素可以创建链接,但在未来的 HTML 版本中这可能会发生变化。

【讨论】:

猜你喜欢
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
  • 2017-12-24
  • 2016-05-04
相关资源
最近更新 更多