css - Safari 和 ul 中的链接

标签 css html-lists

我有一个链接的通用 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/

相关文章:

css - DIV 绝对定位在 IE 中不起作用

css - Bootstrap 响应式侧边栏 Logo 在小型设备上呈现

javascript - 单击抽屉导航 Bootstrap 时不显示侧面导航栏

css - TableView 中 ContextMenu 和 MenuItem 的样式

html - 如何将 Logo 和菜单选项设置在同一级别?

html - 有序列表和子列表问题 HTML

css - 将 CakePHP 与 Bootstrap 一起使用时如何修改包装器 div 错误类

css - 如何重置 css 规则以将元素恢复到其原始行为?

css - 悬停不适用于 ie9 中的嵌套 ul

html - 哪个方向更适合对多列列表进行排序?