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";`,  
      },
    },
  },
相关推荐
木木黄木木2 小时前
html5炫酷3D文字效果项目开发实践
前端·3d·html5
Li_Ning212 小时前
【接口重复请求】axios通过AbortController解决页面切换过快,接口重复请求问题
前端
胡八一3 小时前
Window调试 ios 的 Safari 浏览器
前端·ios·safari
Dontla3 小时前
前端页面鼠标移动监控(鼠标运动、鼠标监控)鼠标节流处理、throttle、限制触发频率(setTimeout、clearInterval)
前端·javascript
再学一点就睡3 小时前
深拷贝与浅拷贝:代码世界里的永恒与瞬间
前端·javascript
CrimsonHu3 小时前
B站首页的 Banner 这么好看,我用原生 JS + 三大框架统统给你复刻一遍!
前端·javascript·css
Enti7c3 小时前
前端表单输入框验证
前端·javascript·jquery
拉不动的猪3 小时前
几种比较实用的指令举例
前端·javascript·面试
麻芝汤圆3 小时前
MapReduce 的广泛应用:从数据处理到智能决策
java·开发语言·前端·hadoop·后端·servlet·mapreduce
与妖为邻4 小时前
自动获取屏幕尺寸信息的html文件
前端·javascript·html