3

私は次のものを持っています:

<a class="folder"><span>Background</span></a>

および次の CSS:

        ul.arbo li > a:hover span,
        ul.arbo li > a.current span {
            background: #999999;
        }

リンクにフォルダのクラスがある場合、適用されないように CSS を変更するにはどうすればよいですか。つまり、上記の HTML には適用されません。

4

4 に答える 4

4

次のように、css で否定疑似クラス セレクターを使用して実行でき:notます。

:not(.folder) {

}

実際のデモを参照してください(insertusernamehere によって提供されます)。

于 2012-12-10T16:02:07.967 に答える
2

CSS3 には:not()セレクターがあり、これを CSS に追加できます (または、いずれかの方法で jQuery を使用してこれを行うこともできます)。これは新しいブラウザでのみ機能します。

http://www.w3schools.com/cssref/sel_not.asp

:not(.folder) 

あなたのインスタンスでは:

ul.arbo li > a:not(.folder):hover span,
ul.arbo li > a:not(.folder).current span { }
于 2012-12-10T16:02:09.373 に答える
0

これにはJavaScriptやjQueryは必要ありません。また、CSS3がなくても実行できます(サポートする予定のブラウザーによっては、これが関係する場合があります)。

次のように、特定の要素で背景が変更されないようにする別のルールを追加するだけです。

ul.arbo li > a.folder:hover span
{
    background: inherit;   
}

実例。

于 2012-12-10T16:05:44.850 に答える
0
:not(.folder) {

}

良い解決策です。どのブラウザを使用したいかを確認することを忘れないでください。

:notセレクターはCSS3セレクターであり、すべてのブラウザーがそれをサポートしているわけではありません...たとえば、IE8以前は:notセレクターをサポートしていません。

于 2012-12-10T16:06:55.283 に答える