混合器一个很重要特性就是可以传递参数,可以根据不同场景来定制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...);
}

scss-@mixin传参的更多相关文章

  1. scss-null在@mixin传参中的应用

    可以给混合器声明参数,以便灵活的配置相关属性值,看如下scss代码: @mixin antzone-div($color, $font-size) { color:$color; font-size: ...

  2. git commit -a -m "M 1、引入mixin,公共样式mixin传参处理;";git push origin master:master

    <script> import wepy from 'wepy' import api from '../api/api' export default class recharge ex ...

  3. Less-minxin传参

    //mixin传参 --简单传参,example: .border-radius(@radius) { -webkit-border-radius: @radius; -moz-border-radi ...

  4. mixin 在传参中可以出现 参数 在类内部可以定义 作用域

    mixin 在传参中可以出现 参数  在类内部可以定义

  5. Oracle 用Drapper进行like模糊传参查询需要在参数值前后带%符合

    Oracle 用Drapper进行like模糊传参查询需要在参数值前后带%符合   string sqlstr="select * from tblname where name like ...

  6. Angular页面传参的四种方法

    1. 基于ui-router的页面跳转传参 (1)在Angular的app.js中用ui-route定义路由,比如有两个页面, 一个页面(producers.html)放置了多个producers,点 ...

  7. 使用java传参调用exe并且获取程序进度和返回结果的一种方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在某个项目中需要考虑使用java后台调用由C#编写的切图程序( ...

  8. Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)

    在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联.那么,本篇随笔我们重点介绍利用建好的双提示进行传参. 在操作之前,我们来看一个报告和分析的具体需求: [1] 两个有关联的提示 ...

  9. js动态绑定click事件时function传参问题

    今天碰到了这样一个问题,我在javascript中动态创建了一个button, 然后我想给改button添加click事件,绑定的function想要传入一个变量参数, 一开始我想直接通过函数传参传进 ...

  10. C#进阶系列——WebApi 接口参数不再困惑:传参详解

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

随机推荐

  1. SDUT OJ 数据结构实验之排序一:一趟快排

    数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  2. Math.random取随机整数

    Math.random可以随机获取0-1的数字,今天用的需要给id随机赋值,小数不好控制,就只取整. 网上很多是 int i=(int)(Math.random()*100): 报错: 后找到 var ...

  3. CBoard 汉化以及元数据存储配置

    汉化配置如图位置: 元数据存储配置为Mysql数据库的位置 版权声明:本文为博主原创文章,需要转载请注明出处. [置顶]Cboard 系列随笔

  4. grafana使用小节

    安装准备 安装grafana 安装mysql grafana操作步骤 新建数据源,支持mysql 数据库连接失败处理: https://www.jianshu.com/p/684bc3a77ac9 新 ...

  5. Android 开源项目使用指南

    1.日历项目 https://blog.csdn.net/iamchan/article/details/81214498

  6. git 如何删除远程提交方法总结

    今天不小心把代码提到主分支了,虽然改动只有一点点,但感觉asdasdasdsadd(要被骂死) 怎么样才能删除掉远程的分支呢. 假设我们有提交 commit commit commit 手残把3提交错 ...

  7. .net mvc 用jquery ajax成功后页面跳转。

    $.ajax({ //url: 'http://192.168.0.102/webApiDemo/api/WebApiTest/PostStudentInforOnePara', //url: &qu ...

  8. Python异常基础

    一.常见异常及场景举例 1.AssertionError 断言失败,断言是调试中常用(表示自己并不常用┑( ̄Д  ̄)┍)手段 举例: def foo(s): n = int(s) assert n ! ...

  9. ibaits数组形式批量入库

    一.xml层 <!--批量入库--> <insert id="addSecCodeList" parameterClass="java.util.Has ...

  10. Python获取当前时间及格式化

    1.导入time模块 # 导入time模块 import time 2.打印时间戳-time.time() # 导入time模块 import time # 打印时间戳 print(time.time ...