前置知识: CSS

层叠层

00:00
1 min Advanced 2026/6/14

@layer

1. @layer 概述

CSS 层叠层(Cascade Layers)允许开发者将 CSS 规则分组到不同的层中,控制层叠优先级

@layer reset, base, components, utilities;

@layer reset {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
}

@layer base {
  body {
    font-family: sans-serif;
    line-height: 1.6;
  }
}

@layer components {
  .card {
    border-radius: 8px;
    padding: 1rem;
  }
}

@layer utilities {
  .hidden {
    display: none;
  }
}

2. 层优先级

声明的层优先级reset < base < components < utilities

未分层的规则优先级最于所有层)。

3. 嵌套层

@layer framework {
  @layer base {
    .btn {
      padding: 8px;
    }
  }
  @layer theme {
    .btn {
      color: blue;
    }
  }
}

/* 引用嵌套层 */
@layer framework.theme {
  .btn {
    color: red;
  }
}

4. @import 与 @layer

@import url('reset.css') layer(reset);
@import url('base.css') layer(base);

5. 最佳实践

  • 使用 @layer 声明层顺序
  • 第三方样式放在低优先级
  • 自定义样式放在优先级层
  • 工具类放在最优先级层

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式