关于scss,编译错误,求解答

我有这么一段 scss ,用于处理数值单位间的转换,如下:

@function check($val){
    @if type-of($val)=="string"{
        @return $val;
    }
    @if unit($val)=="px"{
        @return $val/($val*0+1)+px;
    }@else if unit($val)=="rem"{
        @return $val/($val*0+1)/200+rem;
    }@else{
        @return $val;
    }
}

利用以上方法创建 @mixin ,如下:

@mixin size($width, $height){
    width: check($width);
    height: check($width);
}

提问,当上面两段同时存在一个文件中的时候,运行 @include size(180px, 110px) 编译结果是 width: 180px; height: 120px;

但当把第一段代码存于另外的 scss 中,并通过 @charset "check" 引入到存储第二段代码的scss文件中,

同样运行 @include size(180px, 110px) ,为什么结果则变成了 width: check(180px); height: check(120px);

求教,这是为什么呢?

阅读 2.5k
2 个回答

@charset "utf-8";
@import "mixin";

你看看第一段的scss引入时的顺序在下面那个的前面没,引入顺序对编译也是有影响的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题