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

Chr*_*rce 8 sass

我不能让Sass !important用mixin 输出关键字,我试过:

@include font-size($font-size-sml) !important;
Run Code Online (Sandbox Code Playgroud)

和:

@include font-size($font-size-sml !important);
Run Code Online (Sandbox Code Playgroud)

它总是抛出一个错误.

编辑

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

@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);
}
Run Code Online (Sandbox Code Playgroud)

Ada*_*ski 8

你不能!important在SASS中添加整个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;
    }
}
Run Code Online (Sandbox Code Playgroud)

也许它不是一种迷人的方式,但它的工作原理;-)