在CSS中,是否有一种选择器可以选中没有类的元素?例如在HTML中
<section>Section A</section>
<section class="special">Section B</section>
<section class="">Section C</section>
我想选择A部分(或者可能是A和C两个部分,这没那么重要),可以这样说:
section:not(.*) { color: gray }
我理解我可以将其定义为节并在所有特定的类中重置它,例如在
section { color: gray }
section.special { color: black }
但这不是我想要的,因为一旦样式变得复杂起来,在某些情况下很难正确执行“重置”,并且管理起来也不太方便(当然,这个简化示例中并非如此)。
.special
的样式视为“重置”,不如将其视为应用于section
选择器子集的“精修”。对于你的问题所给出的解决方案并不能获得最佳性能,只会使事情更加复杂。(顺便提一下,你的第一个 CSS 示例之所以看起来较短,是因为你省略了: section { color: black; }
)。 - Nicolas Le Thierry d'Ennequinsection { color: black; }
的原因是因为它本来就不需要 - 可能已经采用了默认值。第二个示例清楚地显示了为所有部分设置颜色,然后必须从可能具有的每个类中删除它的冗余性。我不明白为什么您认为第一个示例会更复杂。至于性能和可维护性之间的选择,您只能选择其中一个。 - BoltClock