Hekyのblog

CSS模块(.module.css)和普通CSS的区别

1. 作用域差异

普通CSS:

/* styles.css */
.button {
    background-color: blue;
}
// 使用普通CSS
import './styles.css';
<button className="button">按钮</button>

CSS模块:

/* Button.module.css */
.button {
    background-color: blue;
}
// 使用CSS模块
import styles from './Button.module.css';
<button className={styles.button}>按钮</button>

2. 类名生成机制

普通CSS:

CSS模块:

3. 使用方式

普通CSS:

// 直接使用字符串
<div className="container header active">

CSS模块:

// 通过styles对象引用
<div className={styles.container}>
<div className={`${styles.header} ${styles.active}`}>

4. 优缺点对比

特性普通CSSCSS模块
学习成本中等
样式冲突容易发生几乎不会
代码维护困难(大项目)容易
性能一般更好(按需加载)
调试容易稍复杂(类名被哈希)

5. 适用场景

普通CSS适合:

CSS模块适合:

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »