gpt4 book ai didi

css - IE6 中的链接样式行为

转载 作者:行者123 更新时间:2023-11-28 11:47:54 25 4
gpt4 key购买 nike

我在跨不同浏览器测试样式表时遇到了这个问题,包括 IE6(是的,我知道..)

<head>
<style>
a:link, a:visited, a:hover, a:active { font-weight: bold; color: #000; text-decoration: underline }
.myclass a { color: red; text-decoration: none; }
</style>
</head>
<body>
<p>This is a <a href="1">test</a></p>
<div class="myclass">
<p>This is a <a href="2">test</a></p>
</div>
</body>

结果:

  • 在IE6中,.myclass a规则只适用于未访问的链接状态
  • 在其他浏览器(FF、Chrome)中,.myclass a 规则适用于所有链接状态

我相信 IE6 是错误的,.myclass a 没有指定伪类,应该适用于所有链接状态。但是我遇到了this SO question它说 a 等同于 a:link。这将匹配 IE6 中的行为。但是我找不到任何官方引用来证实这一点。

哪个是对的?

更新:

如评论中所述,上述问题的公认答案已更新。

最佳答案

其他浏览器是对的; IE6 错误。

选择器 a应该匹配任何 <a>元素,同时 a:link只匹配<a> 未访问超链接 的元素(HTML 4 文档类型将超链接定义为具有 <a> 属性的 href 元素)。在任何一个规范中都没有说明 a应该自动翻译成 a:link反之亦然。

由于没有进行这样的转换,您的两个 CSS 规则具有同样特定的选择器(您的类选择器与每个您的伪类具有相同的特定性)。因此,您的第二条规则应该覆盖任何 <a> 的第一条规则。 div.myclass 中的元素,无论它们的链接状态如何,从而使其始终为红色且没有文字装饰。

顺便说一句,IE7 也无法应用 font-weight: bold使用 <a> 测试时的样式div.myclass 中的元素这不是一个链接,尽管它应该是因为没有覆盖 font-weight第二条规则中的样式:

<div class="myclass">
<p>This is a <a href="2">test</a></p>
<p>This is a <a>test</a></p> <!-- does not bold on hover in IE7! -->
</div>

关于css - IE6 中的链接样式行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9367403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com