Sass中@mixin与@include有什么用(sass,开发技术)

时间:2024-04-30 14:23:55 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Sass 是一种 CSS 的预编译语言。它提供了 变量(variables)、嵌套(nested rules)、 混合(mixins)、 函数(functions)等功能,并且完全兼容 CSS 语法。Sass 能够帮助复杂的样式表更有条理, 并且易于在项目内部或跨项目共享设计。

Sass中@mixin与@include有什么用

@mixin 指令允许我们定义一个可以在整个样式表中重复使用的样式。

@include 指令可以将混入(mixin)引入到文档中。

定义一个混入

混入(mixin)通过 @mixin 指令来定义。 @mixin name { property: value; property: value; … } 以下实例创建一个名为 “important-text” 的混入:

Sass 代码:

@mixinimportant-text{color:red;font-size:25px;font-weight:bold;border:1pxsolidblue;}

注意:Sass 的连接符号 – 与下划线符号 _ 是相同的,也就是 @mixin important-text { } 与 @mixin important_text { } 是一样的混入。

使用混入

@include 指令可用于包含一混入:

Sass @include 混入语法:

selector{@includemixin-name;}

因此,包含 important-text 混入代码如下:

实例

.danger{@includeimportant-text;background-color:green;}

将以上代码转换为 CSS 代码,如下所示:

Css 代码:

.danger{color:red;font-size:25px;font-weight:bold;border:1pxsolidblue;background-color:green;}

混入中也可以包含混入,如下所示:

实例

@mixinspecial-text{@includeimportant-text;@includelink;@includespecial-border;}

向混入传递变量 混入可以接收参数。

我们可以向混入传递变量。

定义可以接收参数的混入:

实例

/*混入接收两个参数*/@mixinbordered($color,$width){border:$widthsolid$color;}.myArticle{@includebordered(blue,1px);//调用混入,并传递两个参数}.myNotes{@includebordered(red,2px);//调用混入,并传递两个参数}

以上实例的混入参数为设置边框的属性 (color 和 width) 。

将以上代码转换为 CSS 代码,如下所示:

Css 代码:

.myArticle{border:1pxsolidblue;}.myNotes{border:2pxsolidred;}

混入的参数也可以定义默认值,语法格式如下:

实例

@mixinbordered($color:blue,$width:1px){border:$widthsolid$color;}

在包含混入时,你只需要传递需要的变量名及其值:

实例

@mixinsexy-border($color,$width:1in){border:{color:$color;width:$width;style:dashed;}}p{@includesexy-border(blue);}h2{@includesexy-border(blue,2in);}

将以上代码转换为 CSS 代码,如下所示:

Css 代码:

p{border-color:blue;border-width:1in;border-style:dashed;}h2{border-color:blue;border-width:2in;border-style:dashed;}

可变参数

有时,不能确定一个混入(mixin)或者一个函数(function)使用多少个参数,这时我们就可以使用 … 来设置可变参数。

例如,用于创建盒子阴影(box-shadow)的一个混入(mixin)可以采取任何数量的 box-shadow 作为参数。

实例

@mixinbox-shadow($shadows...){-moz-box-shadow:$shadows;-webkit-box-shadow:$shadows;box-shadow:$shadows;}.shadows{@includebox-shadow(0px4px5px#666,2px6px10px#999);}

将以上代码转换为 CSS 代码,如下所示:

Css 代码:

.shadows{-moz-box-shadow:0px4px5px#666,2px6px10px#999;-webkit-box-shadow:0px4px5px#666,2px6px10px#999;box-shadow:0px4px5px#666,2px6px10px#999;}

浏览器前缀使用混入 浏览器前缀使用混入也是非常方便的,如下实例:

实例

@mixintransform($property){-webkit-transform:$property;-ms-transform:$property;transform:$property;}.myBox{@includetransform(rotate(20deg));}

将以上代码转换为 CSS 代码,如下所示:

Css 代码:

.myBox{-webkit-transform:rotate(20deg);-ms-transform:rotate(20deg);transform:rotate(20deg);}
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Sass中@mixin与@include有什么用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Hive的基本使用方法有哪些下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18