• [Sass]混合宏


    [Sass]混合宏-声明混合宏

    如果整个网站中有几处小样式类似,比如颜色,字体等,在 Sass 可以使用变量来统一处理,那么这种选择还是不错的。但当你的样式变得越来越复杂,需要重复使用大段的样式时,使用变量就无法达到我们目了。这个时候 Sass 中的混合宏就会变得非常有意义。在这一节中,主要向大家介绍 Sass 的混合宏。

    1、声明混合宏

    不带参数混合宏

    在 Sass 中,使用“@mixin”来声明一个混合宏。如:

    @mixin border-radius{
        -webkit-border-radius: 5px;
        border-radius: 5px;
    }

    其中 @mixin 是用来声明混合宏的关键词,有点类似 CSS 中的 @media、@font-face 一样。border-radius 是混合宏的名称。大括号里面是复用的样式代码。

    带参数混合宏

    除了声明一个不带参数的混合宏之外,还可以在定义混合宏时带有参数,如:

    @mixin border-radius($radius:5px){
        -webkit-border-radius: $radius;
        border-radius: $radius;
    }

    复杂的混合宏:

    上面是一个简单的定义混合宏的方法,当然, Sass 中的混合宏还提供更为复杂的,你可以在大括号里面写上带有逻辑关系,帮助更好的做你想做的事情,如:

    @mixin box-shadow($shadow...) {
      @if length($shadow) >= 1 {
        @include prefixer(box-shadow, $shadow);
      } @else{
        $shadow:0 0 4px rgba(0,0,0,.3);
        @include prefixer(box-shadow, $shadow);
      }
    }

    这个 box-shadow 的混合宏,带有多个参数,这个时候可以使用“ ”来替代。简单的解释一下,当 $shadow 的参数数量值大于或等于“ 1 ”时,表示有多个阴影值,反之调用默认的参数值“ 0 0 4px rgba(0,0,0,.3) ”。

    [Sass]混合宏-调用混合宏

    在 Sass 中通过 @mixin 关键词声明了一个混合宏,那么在实际调用中,其匹配了一个关键词“ @include”来调用声明好的混合宏。例如在你的样式中定义了一个圆角的混合宏“border-radius”:

    @mixin border-radius{
        -webkit-border-radius: 3px;
        border-radius: 3px;
    }

    在一个按钮中要调用定义好的混合宏“border-radius”,可以这样使用:

    button {
        @include border-radius;
    }

    这个时候编译出来的 CSS:

    button {
      -webkit-border-radius: 3px;
      border-radius: 3px;
    }

    感谢慕课

  • 相关阅读:
    session与cookie的浅谈
    jmeter的正则表达式编辑器
    安装canvas
    sql server连接oracle并实现增删改查
    在iOS下-input[disabled] 颜色变浅兼容&& input[readonly]仍可获取焦点解决方法
    快速向表中插入大量数据Oracle中append与Nologging
    JavaScript 删除某个数组中指定的对象和删除对象属性
    ORA-00911: invalid character 错误解决
    SQL Server Varchar 中文乱码问题与使用SQL Server Management Studio管理软件查询出来的字段限制
    SqlServer该如何合适的索引
  • 原文地址:https://www.cnblogs.com/zhn0823/p/6151748.html
Copyright © 2020-2023  润新知