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
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!
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!
The answer is almost too obvious...
!important
can simply be specified as part of the property value
border-radius(5px !important);