全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-23 5 分钟 ✍️ juanwangdev

CSS 模块化导入

Vite 支持在 JavaScript 中直接导入 CSS 文件,并提供 CSS Modules 实现局部作用域。

导入 CSS

JavaScript
// 导入 CSS,样式作用于全局
import './styles/main.css'
import './styles/reset.css'

CSS Modules

使用 .module.css 后缀启用 CSS Modules:

CSS
/* Button.module.css */
.button {
  padding: 10px 20px;
  background: blue;
}
.primary {
  background: green;
}
JavaScript
// 导入 CSS Module
import styles from './Button.module.css'

// 使用类名
document.createElement('button').className = styles.button

Vue 中使用

vue
<script setup>
import styles from './Button.module.css'
</script>

<template>
  <button :class="styles.button">普通按钮</button>
  <button :class="[styles.button, styles.primary]">主要按钮</button>
</template>

类名映射

CSS Modules 会将类名转换为哈希值:

原类名转换后
.button._button_abc123
.primary._primary_def456

注意:CSS Modules 默认生成哈希类名,确保样式局部作用域。

全局 CSS vs CSS Modules

对比项普通 CSSCSS Modules
文件后缀.css.module.css
作用域全局局部(组件内)
类名冲突可能冲突哈希避免冲突
导入方式import './xxx.css'import styles from './xxx.module.css'

要点总结

  • 普通 CSS 导入后作用于全局
  • CSS Modules 使用 .module.css 后缀
  • CSS Modules 类名转换为哈希值
  • 样式局部作用域避免冲突

📝 发现内容有误?点击此处直接编辑

← 上一篇 图片与媒体资源导入
下一篇 → CSS 预处理器支持
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库