解决业务代码的 !important 问题。为什么业务代码需要用 !important 解决问题?因为 css 优先级由文件申明顺序有关,而现在大量业务使用动态插入 css 的方案,插入的时机与 js 文件加载与执行时间有关,这就导致了样式优先级不固定。
@layer 允许业务定义样式优先级,层越靠后优先级越高,比如下面的例子,override 定义的样式优先级比 framework 高:
@layer framework, override;
@layer override {
.title {
color: white;
}
}
@layer framework {
.title {
color: red;
}
}