我只是查找了: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>
输出:
一些文字。<-- 这是红色的。
其他一些文字。<-- 这是绿色的?!(它应该是黑色或任何默认颜色)
还有一个文本 <-- 这是绿色的。
在检查元素后,我发现它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()
正确使用,防止继承造成意外结果?