如何在mixin中使用!important关键字?

时间:2013-01-02 07:36:11

标签: sass

我无法让Sass用mixin输出!important关键字,我试过了:

@include font-size($font-size-sml) !important;

@include font-size($font-size-sml !important);

它总是会抛出错误。

修改

我最终得到了这个工作正常:

@mixin font-size($font-size, $sledge-hammer: "") {
    font-size: $font-size #{$sledge-hammer};
    font-size: ($font-size / $base-font-size)+rem #{$sledge-hammer};
    line-height: ceil($font-size / $base-line-height) * ($base-line-height / $font-size);
}

1 个答案:

答案 0 :(得分:8)

你不能在SASS中添加!important到整个mixin(我认为可能很少)就像你在第一个例子中尝试做的那样。

第二个例子适用于我(你可以通过参数传递!important),我的意思是,如果你直接使用$font-size-sml作为属性值,它可以工作,所以也许检查你的语法。

但如果它真的不适合你,你可以用flag做一些事情,将important_flag设置为mixin参数然后在mixin中使用if-else语句。像这样:

@mixin large-text($prop, $is_imp: false) {
    @if $is_imp == false {
        font-size: $prop;
    } @else {
        font-size: $prop !important;
    }
}

也许这不是一种迷人的方式,但它有效; - )