问答详情
源自:4-12 [Sass]混合宏的参数--传多个参数

混合宏传参数过多时

混合宏传参数过多时,是括号里有多个参数需要传,还是只有一个参数,这个参数的值比较多

提问者:慕瓜6584756 2018-07-05 18:45

个回答

  • 63340
    2018-07-16 21:11:18
    已采纳

    第一种是@mixin size($width,$height),调用时传参的是@include size(500px,300px);

    第二种是@mixin size($width...),调用传参的方法有@include size(500px 300px)和@include size(500px,300px),表示一个参数里有多个值,这里编译之后的表现形式是width:500px 300px和width:500px,300px。

    如果是使用@include size(500px,300px)调用给同一个参数的话,是必须使用@mixin size($width...)这样的形式,不然会编译错误,而@include size(500px 300px)则不用加省略号,用@mixin size($width)也能正确编译。

  • 63340
    2018-07-16 21:20:19

    使用@mixin size($width...)时,不能有第二个参数,也就是$height,如果想要拥有多个参数,而某一个参数又有多个参数的话,可以使用:

    @mixin size($width,$height){

      width: $width;

      height: $height;

    }

    .box-center {

      @include size(500px 300px,100px);

    }

    如果在500px和300px之间加逗号,或者某个参数后带...,均会编译错误