从mixin的sass设置变量以在样式表中使用

问题描述

是否可以在mixin内设置全局变量? 我正在尝试使其能够更改mixin接收的参数,具体取决于mixin的包含位置。但是该变量被其他地方用来计算页面上的其他CSS内容

$maxInputValue5: 4;
$maxInputValue10: 9;
$labelsWidth5: $sliderWidth/$maxInputValue5;
$labelsWidth10: $sliderWidth/$maxInputValue10;
$labelsMargin5: $sliderWidth/(-$maxInputValue5*2);
$labelsMargin10: $sliderWidth/(-$maxInputValue10*2);

@mixin setWidthSlider($sliderWidth) {
    width: $sliderWidth;
}

@mixin calcMargin($list10: false,$list5: true) {
    @if $list10 == false and $list5 == true {
        margin: 18px $labelsMargin5 0;
    } @else if $list10 == true and $list5 == false {
        margin: 18px $labelsMargin10 0;
    }
}

@mixin calcWidth($list10: false,$list5: true) {
    @if $list10 == false and $list5 == true {
        width: $labelsWidth5;
    } @else if $list10 == true and $list5 == false {
        width: $labelsWidth10
    }
}

.sliderWidth {
    @include setWidthSlider(400px);
}

.x {
    @include calcMargin($list10: false,$list5: true);
    @include calcMargin($list10: true,$list5: false);
li {
    @include calcWidth($list10: false,$list5: true);
    @include calcWidth($list10: true,$list5: false);
    }
}

但是...输入其他mixins时$ sliderWith是未定义的。如何实现下一个mixin和其他变量知道$ sliderWidth是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)