Sass语法介绍-混合指令
1.前言
混合指令在 Sass 中也是一个比较常用的指令,在前面我们讲解的内容中有编写过混合指令 @mixin ,本节我们将详细讲解混合指令 @mixin 的语法包括定义混合指令和引用混合指令等等,混合指令同样非常好用,我们一起来学习它吧。
2.什么是 Sass 混合指令
混合指令的出现使你可以定义在样式表中重复使用的样式,这可以使你免去编写过多重复的样式,而且在混合指令 @mixin 中你也可以做一些逻辑处理。混合指令是一个很好用的指令,它将帮你更合理的维护样式代码,学会这种方式写起样式来也很便利,下面我们开始详细的讲解它。
3.语法详情
混合指令的写法是 @mixin name { … } 或者 @mixin name(<arguments…>) { … },第一种写法是不传参的指令,第二种写法是传参的指令,我们先来举个简单的例子看下混合指令的样子:
@mixin border {
border: {
width: 1px;
color: #cccccc;
style: solid;
}
}
上面我写的这个混合指令是一个不需要传参的,那么它怎么用呢?转换为 CSS 后是什么呢?下面我们从混合指令的定义开始逐一讲解。
4.定义和引用混合指令
混合指令的定义是在 @mixin 后跟指令名字和 {} ,在 {} 中你可以写一些样式,同时也可以用一些函数或者前面章节讲的控制指令,现在我们定义一个不接收参数的混合指令和一个接收参数的混合指令:
// 不接收参数的混合指令
@mixin border {
border: {
width: 1px;
color: #cccccc;
style: solid;
}
}
// 接收参数的混合指令
@mixin font($size: 12px, $weight: 100) {
font: {
family: "Myfont";
weight: $weight;
size: $size;
}
}
.box {
// 引用混合指令
@include border;
}
.item {
// 引用混合指令并传参
@include font(20px, 500);
}
上面的代码中我们分别定义了两个简单的混合指令,然后在 .box 和 .item 的样式中通过 @include 引用混合指令,在 @include 后直接跟混合指令的名称就可以引用了,传参如上面代码所示,那么上面这段代码将会转换为如下的 CSS 代码:
.box {
border-width: 1px