我有一个链接的通用 css 规则,在我提出异常(exception)之前它可以正常工作。在这个简化的具体案例中,一般链接应该是黑色的,异常(exception)应该是红色的。但是当我添加“.menu a:link”时,一切都变红了。
问题只出现在 Safari 中,其他浏览器没有。在 FsFiddle 或 JsBin 等地方一切正常。
我做错了什么吗?
HTML:
<ul class="menu">
<li><a href="#">should be red</a></li>
<li><a href="#">should be red</a></li>
<li><a href="#">should be red</a></li>
</ul>
<a href="aligues.html"> should be black </a> <br>
CSS:
a { outline:0; text-decoration: none ; }
a:link, a:visited { color: black; }
a:hover { color: black;text-decoration: none; }
.menu a:link, a:visited { color: red; }
.menu a:hover { color: red;text-decoration: none; }
最佳答案
看起来好像有一条您可能没有意识到的规则正在生效。
.menu a:link, a:visited { color: red; }
此规则实际上指定菜单内的所有链接以及所有已访问过的链接都是红色的。所以看起来您可能已经访问了页面周围的其他链接,而 Safari 只是将它们标记为已读?
我创建了一个 JSFiddle显示 ul
之外的链接以及您可能访问过的 URL,它应该显示为红色。解决方法是让选择器不那么通用。例如:
.menu a:link, .menu a:visited { color: red; }
关于css - Safari 和 ul 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16238718/