
在 react 项目中,可同时为元素应用来自 css modules 的局部类名和来自全局样式表的普通类名,只需正确拼接字符串——css modules 类通过 `styles.xxx` 访问,全局类直接写类名(不加点号或引号)。
在实际开发中,我们常需结合 CSS Modules 的作用域隔离优势与全局动画库(如 Animate.css)、重置样式或第三方 ui 工具类(如 Tailwind 的基础工具类)的能力。此时关键在于理解两类类名的来源差异:
- ✅ CSS Modules 类(如 ./text-image-section.module.scss):经 webpack/Babel 处理后导出为 javaScript 对象(如 { textContainer: “textImageSection_textContainer__abc123” }),必须通过 styles.textContainer 访问,再用模板字符串拼接;
- ✅ 全局 CSS 类(如 ../../animate.scss 或 .css):未启用模块化,类名保持原样(如 .animate → 类名字符串为 “animate”),不可加前缀 . 或引号内带点,否则浏览器会将其视为字面量而非有效类名。
✅ 正确写法:
import styles from "./text-image-section.module.scss"; import "../../animate.scss"; // 确保已正确引入(无 default export) {/* 内容 */}
⚠️ 常见错误及修正: