sass

@mixin   @include 混合器 

    @mixin col($num){          //编写mixin方法
      $num;
      height:$num;
    }
    .div{

      @include col(100px);      //使用@include调用方法
      background-color: #f5f5f5;    
    }

    @mixin col($num:100px){          //默认参数
      $num;
      height:$num;
    }
    .div{

      @include col();         //调用时不用传参  如果不带参数, ()可以省略
      background-color: #f5f5f5;    
    }

@extend 继承

     .b{

       @extend .a;      //首先要有.a这个类的样式    

     }

    @extend .p,.cols;    可以连写  @import也可以连写 

    假设  .a{color:#fff}   .b{@extend .a}  .a.b{color:#000}     .b会继承.a       即 .a,.b{color:#fff}    再继承.a.b     即  .a.b,.b{color:#000}      .a.b在后  所以#000颜色会覆盖#fff

% 占位符  

     构建仅用来继承的选择器,不会输出到css中

    %a{ ... }          .b { @extend %a }

@at-root 转为CSS时 不包含嵌套 

     .a{ .b{ } }     转为css时,.b是转为.a下的.b (.a .b )   

    .a{ @at-root{ .b{  }  }  }    加上@root    .b在转化的时候  直接是转为.b

参数校验

    @mixin col-sm($50%) {
      @if type-of($width) !=number {    //判断类型
        @error "$width必须是一个数值类型,你输入的是#{$width}"
      }
    @if not unitless($width) {      //判断数值是否无单位,有单位的话返回false 
      @if unit($width)!="%" {      //判断单位是否是百分号 
        @error "$width应该是一个百分值,你输入的是#{$width}"    #{} 字符串中填写变量
      }
    } @else {
      @warn "$width应该是一个百分值,你输入的是#{$width}" ;
      $percentage($width);     //将数值转换为百分比
      }
    $width;
    }

config配置文件

    config里的output_style

    取值为 :expanded     默认输出格式

    取值为 :nested时  包含结构嵌套

    取值为 :compact时  选择器汇总在一行

    取值为 :compressed时   压缩格式  上线前使用

    

    config中的line_comments

    修改为 line_comments = false   去除转换后的css中的注释

unquote($string):删除字符串中的引号; 

quote($string):给字符串添加引号

To-lower-case() 函数 与 To-upper-case() 刚好相反,将字符串转换成小写字母:

  •       percentage($value):将一个不带单位的数转换成百分比值;
  •       round($value):将数值四舍五入,转换成一个最接近的整数;
  •       ceil($value):上取整;
  •       floor($value):下取整;
  •       abs($value):返回一个数的绝对值;
  •       min($numbers…):找出几个数值之间的最小值;
  •       max($numbers…):找出几个数值之间的最大值;
  •       random(): 获取随机数
  •       length($list):返回一个列表的长度值;
  •       nth($list, $n):返回一个列表中指定的某个标签值  
    >> nth(10px 20px 30px,1)
    10px
  •       join($list1, $list2, [$separator]):将两个列给连接在一起,变成一个列表;
  •       append($list1, $val, [$separator]):将某个值放在列表的最后;
  •       zip($lists…):将几个列表结合成一个多维的列表;
  •       index($list, $value):返回一个值在列表中的位置值。
  • type-of($value):返回一个值的类型
  • unit($number):返回一个值的单位
  • unitless($number):判断一个值是否带有单位  不带单位返回的值为 true
  • comparable($number-1, $number-2):判断两个值是否可以做加、减和合并
if($condition,$if-true,$if-false)
>> if(true,1px,2px)
1px
>> if(false,1px,2px)
2px
  • map-get($map,$key):根据给定的 key 值,返回 map 中相关的值。
  • map-merge($map1,$map2):将两个 map 合并成一个新的 map。
  • map-remove($map,$key):从 map 中删除一个 key,返回一个新 map。
  • map-keys($map):返回 map 中所有的 key。
  • map-values($map):返回 map 中所有的 value。
  • map-has-key($map,$key):根据给定的 key 值判断 map 是否有对应的 value 值,如果有返回 true,否则返回 false。
  • keywords($args):返回一个函数的参数,这个参数可以动态的设置 key 和 value。
mix($color-1,$color-2,$weight);
mix(#f00, #00f) => #7f007f
mix(#f00, #00f, 25%) => #3f00bf

rgba($red,$green,$blue,$alpha)  //将一个rgba颜色转译出来,和未转译的值一样
rgba($color,$alpha)  //将一个Hex颜色转换成rgba颜色
 border-color: rgba(green,.5);
 border-color: rgba(0, 128, 0, 0.5); 


原文地址:https://www.cnblogs.com/xiumumi/p/9742913.html