ホームページ >ウェブフロントエンド >CSSチュートリアル >なぜ `.foo a` が CSS 特異性の `a:hover` と `a:active` をオーバーライドするのでしょうか?

なぜ `.foo a` が CSS 特異性の `a:hover` と `a:active` をオーバーライドするのでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-26 16:27:14329ブラウズ

Why Does `.foo a` Override `a:hover` and `a:active` in CSS Specificity?

仕様性の難問: セレクターの .foo が a:hover、a:active を無効にする理由

CSS の仕様性により、セレクターに基づいてスタイルが適用される方法が決まります重さ。与えられた問題では、.foo セレクターが a:hover および a:active と競合します。

特異性について理解する

特異性はタグ、クラスの数によって決まります。 、セレクター内の ID であり、各レベルは特定の重みを保持します。この場合、提供された特異性テーブルは、.foo a:link および .foo a:visited が a:hover および a:active (0 0 1 1) よりも高い特異性 (0 0 2 1) を持っていることを示しています。

.foo a がオーバーライドされる理由

.foo a セレクターはより具体的ですa:hover や a:active よりも、foo クラスの要素内のリンクに適用されるためです。要素が同じ詳細性を持つ複数のセレクターに一致する場合、最後に宣言されたスタイルが適用されます。

.foo a セレクターを修正する

a:hover と a: を許可するには:アクティブなスタイルを優先するには、.foo セレクターを変更して、より低い特異性を持つようにする必要があります。考えられる修正の 1 つは次のとおりです。

.foo a:hover, .foo a:active {
    color: red;
}

hover およびアクティブな疑似クラスの前に .foo を追加すると、具体性が a:hover や a:active よりも高く保たれ、これらの疑似クラスのスタイルが確実に保証されます。 foo を使用して要素内に適用されるclass.

要点

詳細度は、CSS スタイルの適用方法を決定します。この概念を理解することは、スタイルの優先順位を制御し、目的の視覚効果を実現するために非常に重要です。

以上がなぜ `.foo a` が CSS 特異性の `a:hover` と `a:active` をオーバーライドするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。