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";`,  
      },
    },
  },
相关推荐
abigale032 小时前
webpack+vite前端构建工具 -11实战中的配置技巧
前端·webpack·node.js
专注API从业者2 小时前
构建淘宝评论监控系统:API 接口开发与实时数据采集教程
大数据·前端·数据库·oracle
Joker`s smile2 小时前
Chrome安装老版本、不同版本,自制便携版本用于前端调试
前端·chrome
weixin_416639972 小时前
爬虫工程师Chrome开发者工具简单介绍
前端·chrome·爬虫
我是如子啊2 小时前
【解决“此扩展可能损坏”】Edge浏览器(chrome系列通杀))扩展损坏?一招保留数据快速修复
前端·chrome·edge
灵性花火2 小时前
Qt的前端和后端过于耦合(0/7)
开发语言·前端·qt
孤水寒月6 小时前
基于HTML的悬窗可拖动记事本
前端·css·html
祝余呀6 小时前
html初学者第一天
前端·html
耶啵奶膘9 小时前
uniapp+firstUI——上传视频组件fui-upload-video
前端·javascript·uni-app
视频砖家9 小时前
移动端Html5播放器按钮变小的问题解决方法
前端·javascript·viewport功能