:not()
疑似クラスを調べて、そこで例を試しました。興味深いことに、ローカル コンピューターと MDN サイトでは見た目が異なります。
p:not(.classy) { color: red; }
:not(p) { color: green; }
<p>Some text.</p>
<p class="classy">Some other text.</p>
<span>One more text</span>
出力:
いくつかのテキスト。<-- これは赤です。
他のいくつかのテキスト。<-- これは緑?! (黒またはデフォルトの色である必要があります)
もう 1 つのテキスト <-- これは緑色です。
要素を調べたところ、Some other text
何らかの形で から緑の色を継承し、 のbody
影響を受けていることがわかりました:not(p)
。
では、なぜ MDN サイトはそれを正しく表示しているのでしょうか? それはトリックです:
<p style="color: red;">Some text.</p>
<p>Some other text.</p>
<p style="color: green;">One more text</p>
私の質問は、どのように:not()
適切に使用し、継承が予期しない結果を引き起こさないようにするかです。