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

    1. @layer framework, override;
    2. @layer override {
    3. .title {
    4. color: white;
    5. }
    6. }
    7. @layer framework {
    8. .title {
    9. color: red;
    10. }
    11. }