1

次の状況で、太字:not()から除外するにはどうすればよいですか?div.note em

div#content em {
    font-weight: bold;
}

/* I want to remove the following 
   in favor of the :not selector being applied to the above */
div#content div.note em {
    font-weight: normal;
}

PS:これは簡略化された例です。実際には、div#content emを除くすべてに適用したいスタイルがいくつかありますdiv.note em。だから私は後でそれらをすべて手動で上書きしたくないのです...

4

1 に答える 1

3

#contentとの間の正確な階層がわかっている場合は、.note子セレクターを使用して、否定が機能するのに十分なほど具体的にすることができます。.noteの子である場合は#content、次を使用します。

#content > :not(.note) em, #content > em {}

<div>の間に2つのsがある場合は、次のようにします。#content.note

#content > div > div > :not(.note) em, #content > em {}

ただし、持っているものを使用し、.noteの子孫であるem要素をオーバーライドする方がおそらく良いでしょう。

于 2012-04-28T15:34:00.087 に答える