0

ここに私のCSSがあります:

div.leftNav 
{
}

div.leftNav a:link { color: black; }
div.leftNav a:visited { color: black; }
div.leftNav a:active { color: black; }
div.leftNav a:focus { color: black; }

問題は、aタグがdivclass を持つ のすぐ下にないleftNavことです。それはいくつかのレベルの下にあり、時には s のような他の要素内にありますspan。私の目標は、1 つの の下にあるすべてのリンクを有効divにすることです。どうすればよいですか?

4

1 に答える 1

1

これにより、.leftNav 内の任意のアンカー要素が選択され、黒色になります。

.leftNav a { color: black; }

要素 (div.leftNav) で選択する必要はありません。これは、クラス .leftNav を div 以外の要素に割り当てるとすぐにセレクターが壊れるため、一種の悪い習慣です。a の各疑似クラス (a:link、a:focus など) を選択する必要もありません。特定のグローバル スタイル (a:visited、a:link など) を指定していない場合、上記のセレクターによって上書きされるためです。など)、CSS のいくつかの場所でそのグローバル ルールを上書きする必要がある場合、これも一種の悪い習慣です。

ただし、たとえば a:visited と a:link を使用してリンクをグローバルにスタイル設定する場合は、要素ごとに選択するのではなく、クラス (.link など) を割り当てて、そのようにスタイル設定します。

.link:link { color: blue; }
.link:visited { color: green; }

これは、異なるように見えるリンクのスタイルをオーバーライドする必要がないことを意味します。それらのリンクに .link のクラスを割り当てないでください。

于 2012-07-07T23:13:09.530 に答える