混合器一个很重要特性就是可以传递参数,可以根据不同场景来定制css代码的复用。极大提高了混合器的适用性,看如下scss代码实例:

@mixin makeradius($radius) {
border-radius: $radius;
}
antTest{
background-color: blue;
border: 4px solid #ccc;
@include makeradius(8px);
}

  编译生成的css代码如下:

antTest{
background-color: blue;
border: 4px solid #ccc;
border-radius: 8px;
}

  这样的话,圆角尺寸就不是一个固定值,而是可以根据需要进行定制。再看一段scss代码实例:

@mixin setborder($color, $width) {
border: {
color: $color;
width: $width;
style: dashed;
}
}
p {
@include setborder(blue, 2px);
}

  如果混合器没带参数,那么可以省略小括号;如果带有参数,必须带有小括号。参数与参数之间用逗号分隔。也可以给混合器的参数设置默认值,看如下scss代码代码实例:

@mixin setborder($color, $width: 2px) {
border: {
color: $color;
width: $width;
style: dashed;
}
}
p {
@include setborder(green);
}
h1 {
@include setborder(green, 4px);
}

  上面的代码中,设置第二个参数$width默认值是2px,如果没有传递此参数,那么就直接使用默认值。如果传递了此参数,那么新的参数将会覆盖默认参数。传递参数也可以使用键值对的方式,scss代码实例如下:

@mixin setborder($color, $width) {
border: {
color: $color;
width: $width;
style: dashed;
}
}
h1 {
@include setborder($color: green, $width: 4px);
}

  参数变量(...)也可以在@include引用混合器的时候,将值列表中的值逐条作为参数引用:

@mixin colorlist($text, $background, $border) {
color: $text;
background-color: $background;
border-color: $border;
}
$values: #ccc, #0ff, #fff;
.orignal{
@include colorlist($values...);
}

最新文章

  1. 使用 SecurityManager 和 Policy File 管理 Java 程序的权限
  2. ASP.NET MVC 5 Web编程3 -- Controller的应用及扩展
  3. 几大主流浏览器内核(Rendering Engine)
  4. Daily Scrum Meeting ——ThirdDay
  5. HDU 5869 (离线+树状数组)
  6. ios 向工程里添加Fonts
  7. #error作用
  8. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)
  9. 如何说服你的老板必须使用APM?
  10. 安卓蓝牙技术Bluetooth使用流程(Bluetooth详解)
  11. javascript外部使用
  12. c语言基础学习03
  13. 使用K-means进行聚类,用calinski_harabaz_score评价聚类效果
  14. 解决定位工具报错Error while parsing UI hierarchy XML file: Invalid ui automator hierarchy file.
  15. java:@SuppressWarnings注解
  16. mysql编译安装(详细)
  17. UWP 五星评价(不跳转到龟速商店)
  18. ASP.NET Application Life Cycle
  19. HTML的各个标签的默认样式
  20. php将汉字转换为拼音和得到词语首字母(三)

热门文章

  1. Touchable类组件
  2. elementtaryos root密码更改
  3. asp.net MVC中的@model与Model
  4. Eclipse工程部署到Tomcat时出现中文乱码问题
  5. Webstorm和 Eclipise 快捷键,慢慢总结下。
  6. UESTC - 1137 数位DP
  7. UESTC - 1147 求最短路方案数
  8. POJ - 2528 奇怪的测试数据
  9. Emit生成特定接口的类
  10. [转] Kubernetes K8S 简介