美文网首页
@mixin/@include 混合指令

@mixin/@include 混合指令

作者: 程序猿人王小贱 | 来源:发表于2017-07-03 11:11 被阅读0次

    混合指令用于定义可重读的样式,避免了使用无语义的class;
    可以通过参数功能引入变量,输出多样化的样式。

    • @mixin 定义混合指令
    • @include 引用混合指令
    sass定义:
    -------
    @mixin large-text {
        font: {
            family: Arial;
            size: 20px;
            wight: bold;
        }
        color: #ff0000;
    }
    
    .page-title { 
        @include large-text;
        padding: 4px;
        margin-top: 2px;
    }
    
    CSS编译为:
    --------
    .page-title {
        font-family: Arial;
        font-size: 20px;
        font-weight: bold;
        color: #ff0000;
        padding: 4px;
        margin-top: 2px;
    }
    

    Arguments 参数用于混合指令中的样式设定变量,并且赋值使用。

    在定义混合指令的时候,按照变量的格式,设置参数列表。引用的时候按照参数的顺序赋值。

    sass
    ====================
    ------参数定义
    @mixin sexy-border($color, $width) {
        border: {
            color: $color;
            width: $width;
            style: dashed;
        }
    }
    
    ------可以设定默认值
    @mixin sexy-border($color:blue, $width:lin) {
        border: {
            color: $color;
            width: $width;
            style: dashed;
        }
    }
    
    p {
        @include sexy-border(blue, lin);
    }
    
    css
    ====================
    p {
        border-color: blue;
        border-width: lin;
        border-style: dashed;
    }
    

    参数变量 (Variable Arguments)

    不能确定混合指令需要使用多少个参数,比如一个关于 box-shadow 的混合指令不能确定有多少个 shadow 会被用到。

    数变量 声明(写在参数的最后方)告诉 Sass 将这些参数视为值列表处理。

    sass
    ============
    @mixin box-shadow($shadows...) {
      box-shadow: $shadows;
    }
    .shadows {
      @include box-shadow(0px 4px 5px #666, 2px 6px 10px #999);
    }
    
    css
    ============
    .shadowed {
      box-shadow: 0px 4px 5px #666, 2px 6px 10px #999;
    }
    

    相关文章

      网友评论

          本文标题:@mixin/@include 混合指令

          本文链接:https://www.haomeiwen.com/subject/kjeacxtx.html