vite中使用scss技巧

一、样式混合

1.普通用法

css 复制代码
@mixin flex() {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

//使用方法
.legend_box_item {
	width: 50%;
	height: 10px;
	@include flex;
}

2.传递参数,参数后面的值为默认值

css 复制代码
@mixin flex($justify: flex-start, $align: flex-start) {
    display: flex;
    justify-content: $justify;
    align-items: $align;
}
//使用方法
.legend_box_item {
	width: 50%;
	height: 10px;
	@include flex;   //没传递参数,使用默认值
}
//===============================================
 .legend_box_item {
	width: 50%;
	height: 10px;
	@include flex(space-between,center);  //传递参数
}

3.类似于vue插槽用法

css 复制代码
@mixin flex($justify: flex-start, $align: flex-start) {
    display: flex;
    justify-content: $justify;
    align-items: $align;
    @content;  //类似vue的slot
}
//使用方法
 .legend_box_item {
	width: 50%;
	height: 10px;
	@include flex(space-between,center){
		color:#ffffff;   //这里就是放入插槽的内容
	};
}

二、全局引入scss文件

上面的混入不可能每个文件都写一份吧,而且你直接在main.ts文件引入一个scss文件,是没法使用里面的混合器以及变量的,必须在vite里面配置

javascript 复制代码
 css: {
    preprocessorOptions: {
      scss: {
        //原理很简单,就是在编译的时候,会把这字符串塞进每一个scss文件中,
        //相当于每个scss中都写了一个引入,所以这里可以引入多个scss文件
        additionalData: `@import "@/css/mixin.scss";
        				 @import "@/css/a.scss";
        				 @import "@/css/b.scss";`,  
      },
    },
  },
相关推荐
Larcher21 分钟前
JS 变量提升:代码没动,为什么执行顺序就变了?
前端·javascript·前端框架
yingyima22 分钟前
MySQL 事件调度器速查:核心语法与实战代码
前端
要写代码22 分钟前
2026-Css忘掉一切、归零再启
css
GISer_Jing22 分钟前
Claude Code多Agent架构深度剖析
前端·人工智能·架构·自动化
comphub23 分钟前
comp-hub:让你的 Vue 业务组件真正"活"起来
前端
AI砖家25 分钟前
Claude Code 跳过确认完全指南:让 AI 自己完成开发任务
前端·人工智能·python·ai编程·代码规范
KaMeidebaby42 分钟前
卡梅德生物技术快报|Pull Down 实验在 lncRNA - 蛋白互作机制研究中的应用实例解析
大数据·前端·架构·spark·新浪微博
锋行天下1 小时前
让nginx网关扛下所有攻击
前端·后端·nginx
广州华水科技1 小时前
单北斗GNSS是什么?主要有哪些形变监测应用?
前端
边界条件╝2 小时前
微前端进阶(二)
前端