css module global笔记

一般来说用上了css module之后,涉及到一些第三方组件,想要改里面的类样式,常常需要:global

比如 要改.third-party-class类的样式,假设父级业务类为customClass,则编码如下:

.customClass{
 :global{
  .third-party-class{
   // 这里改第三方类的样式
   font-size: 28px;
  }
 }
}

但如果你的customClass碰巧是和third-party-class同级,比如:(虽然少见,但偶尔也会有)

<div class="customClass third-party-class">
</div>

这个时候:global的写法就要这么写了

.customClass{
 &:global(.third-party-class){
   // 这里改第三方类的样式
   font-size: 28px;
 }
}

也可以是:(省了三个字符)

.customClass:global(.third-party-class){
   // 这里改第三方类的样式
   font-size: 28px;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vite 是一个非常快速的前端构建工具,它内置了对 CSS 的支持,包括 CSS 模块化。下面是在 Vite 中实现 CSS 模块化的步骤: 1. 安装依赖 首先,您需要安装 `sass` 和 `sass-loader` 依赖项,它们将帮助您在 Vite 中使用 CSS 模块化。 ``` npm install sass sass-loader --save-dev ``` 2. 配置 `vite.config.js` 在 `vite.config.js` 中,您需要配置 `css` 属性来启用 CSS 模块化和 `sass` 预处理器。例如: ``` import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], css: { modules: { localsConvention: 'camelCaseOnly' }, preprocessorOptions: { scss: { additionalData: `@import "@/styles/variables.scss";` } } } }) ``` 在上面的示例中,`css.modules` 属性启用了 CSS 模块化,并将类名转换为 CamelCase 格式。`preprocessorOptions.scss` 属性启用了 `sass` 预处理器,并将全局变量文件导入到所有样式文件中。 3. 创建样式文件 在您的样式文件中,您可以使用 `:local()` 选择器来定义局部样式。例如: ``` .container { padding: 10px; background-color: white; border-radius: 5px; :local(.title) { font-size: 18px; color: #333; } :local(.description) { font-size: 14px; color: #666; } } ``` 在上面的示例中,`:local()` 选择器定义了 `.title` 和 `.description` 类的局部样式。 4. 在组件中使用样式 在您的组件中,您可以像这样导入样式文件: ``` <template> <div class="container"> <h2 class="title">Title</h2> <p class="description">Description</p> </div> </template> <style module> @import "@/styles/your-styles.scss"; </style> ``` 在上面的示例中,`<style module>` 标签启用了 CSS 模块化,并导入了样式文件。然后,您可以像这样在组件中使用局部类名:`.title` 和 `.description`。 这就是在 Vite 中实现 CSS 模块化的基本步骤。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值