Does SASS support adding !important to all properties in a mixin?

后端 未结 3 1445
星月不相逢
星月不相逢 2021-01-07 19:21

I am currently using the compass framework and all it\'s helpful CSS3 mixins. I would like to use the border-radius(5px) mixin and have all properties that come

相关标签:
3条回答
  • 2021-01-07 20:05

    Cander's answer works for simple variables, which aren`t followed by any other attribute. You could do it like so, for more complex CSS, like the transition property:

    
        @mixin transition($duration, $content:null) {
            -webkit-transition:all $duration linear $content;
            -moz-transition:all $duration linear $content;
            -o-transition:all $duration linear $content;
            transition:all $duration linear $content;
        }
    
    

    I added the $content variable and set it as null. Now you can call the mixin simple with:

    @include transition(0.3s);

    and if you want to add !important, use

    @include transition(0.3s, !important);

    Thanks!

    0 讨论(0)
  • 2021-01-07 20:08

    Mixin:

    @mixin verlauf($color1, $color2) {
      background: $color1;
      background: -moz-linear-gradient(top, $color1 0%, $color2 100%);
      background: -webkit-linear-gradient(top, $color1 0%,$color2 100%);
      background: linear-gradient(to bottom, $color1 0%,$color2 100%);
    }
    

    SCSS:

     @include verlauf(#607a8b !important, #4b6272 !important);
    

    Result:

    background: #607a8b !important;
    background: -moz-linear-gradient(top, #607a8b !important 0%, #4b6272 !important 100%);
    background: -webkit-linear-gradient(top, #607a8b !important 0%, #4b6272 !important 100%);
    background: linear-gradient(to bottom, #607a8b !important 0%, #4b6272 !important 100%); }
    

    It works also with a two (and more) variable mixin!

    0 讨论(0)
  • 2021-01-07 20:12

    The answer is almost too obvious...

    !important can simply be specified as part of the property value

    border-radius(5px !important);
    
    0 讨论(0)
提交回复
热议问题