Mark Dalgleish
每个选择器都有可能通过定位不需要的元素或与其他选择器冲突而产生意外的副作用。更令人惊讶的是,我们的选择器甚至可能在全局特异性战争中失利,最终对页面几乎没有或根本没有影响。
每次我们更改 CSS 文件时,都需要仔细考虑我们的样式将置于其中的全局环境。没有其他前端技术需要如此多的纪律才能使代码保持最低的可维护性水平。
Mark 继续讨论了他的预处理解决方案。我对此不做评论,但我确实发现这种斗争如何渗透到前端开发中……一直以来。想想这些东西:框架、iframe、命名空间选择器、谨慎的命名方法、Web Components/Shadow DOM、作用域 CSS、all: initial;、未来概念——所有这些都是为了对抗 CSS 难以处理的“全局”特性而设计的。