0

例外を設定するまで正常に機能するリンクの一般的な css ルールがあります。この特定のケースを簡略化すると、一般的なリンクは黒、例外は赤になります。しかし、「.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; }
4

2 に答える 2

3

あなたが気づいていないかもしれないルールが影響を及ぼしているようです。

.menu a:link, a:visited { color: red; }

このルールは、実際には、メニュー内のすべてのリンクと、アクセスされたすべてのリンクを赤く指定します。ページ内の他のリンクにアクセスした可能性がありますが、サファリはそれらを既読としてマークしているだけですか?

アクセスした可能性が高い URLの外側のリンクを表示するJSFiddleを作成しました。赤色で表示されるはずです。ul修正は、セレクターの汎用性を低くすることです。例えば:

.menu a:link, .menu a:visited { color: red; }
于 2013-04-26T14:23:23.733 に答える
2

a:visitedセレクターの先頭に を付けていないことに注意してください.menu

特定の行は次のようになると思います。

.menu a:link, 
.menu a:visited { color: red; }

サファリで赤く表示されているのは、それが唯一のブラウザであるからですaligues.html

于 2013-04-26T14:22:47.177 に答える