是否可以使用CSS隐藏除intro-class及其子元素以外的所有body内部元素?
body *:not(.intro > *) {
opacity: 0;
}
<body>
<h1>Welcome to My Homepage</h1>
<div class="intro">
<p id="firstname">My name is Donald.</p>
<p id="hometown">I live in Duckburg.</p>
</div>
<p>My best friend is Mickey.</p>
</body>
:not()
选择器不再需要,因为!important
将覆盖*
选择器。 - Simplicius:not()
,你可以运行没有:not()
的代码,你会发现它不起作用。 - Ivan Frolov!important
,因为在 CSS 中,以下的style-rules
有能力覆盖前面的规则。https://codepen.io/SimplyCius/pen/qBZQzBN - Simpliciusopacity
看起来与visibility
的行为不同。由于父容器 [.intro
] 也设置为opacity: 0
,因此其子元素无法覆盖该属性。但这是一种特定于属性的行为,可以轻松避免。这个批评并不是要表明你做错了,而是让 OP 和其他人知道更好的方法。> https://codepen.io/SimplyCius/pen/QWNJXbz - Simplicius