赞
踩
1.普通用法
@mixin flex() {
display: flex;
justify-content: space-around;
align-items: center;
}
//使用方法
.legend_box_item {
width: 50%;
height: 10px;
@include flex;
}
2.传递参数,参数后面的值为默认值
@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插槽用法
@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; //这里就是放入插槽的内容
};
}
上面的混入不可能每个文件都写一份吧,而且你直接在main.ts文件引入一个scss文件,是没法使用里面的混合器以及变量的,必须在vite里面配置
css: {
preprocessorOptions: {
scss: {
//原理很简单,就是在编译的时候,会把这字符串塞进每一个scss文件中,
//相当于每个scss中都写了一个引入,所以这里可以引入多个scss文件
additionalData: `@import "@/css/mixin.scss";
@import "@/css/a.scss";
@import "@/css/b.scss";`,
},
},
},
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。