J'utilise actuellement le cadre compas et tout cela "s CSS3 mixins utiles. Je voudrais utiliser le border-radius(5px)
mixin et ont toutes les propriétés qui en découlent marqué avec !important
Dans MOINS il est possible d'appliquer !important
à toutes les propriétés d'un mixin en le spécifiant simplement après l'appel
.myMixin(@x) {
border-radius: @x;
-moz-border-radius: @x;
}
.myClass {
.myMixin(5px) !important;
}
compile pour
.myClass {
border-radius: 5px !important;
-moz-border-radius: 5px !important;
}
Est-ce possible dans TOUPET, ou devrai-je réécrire les mixins avec un paramètre important?
@mixin my-border-radius($value, $important: false) {
border-radius: @value if($important, !important, null);
....
}
Réponses:
26 pour la réponse № 1La réponse est presque trop évidente ...
!important
peut simplement être spécifié dans la valeur de la propriété
border-radius(5px !important);
4 pour la réponse № 2
La réponse de Cander fonctionne pour des variables simples, qui ne sont suivies par aucun autre attribut. Vous pouvez le faire comme ceci, pour des CSS plus complexes, comme la propriété de transition
@mixin transition ($ duration, $ content:nul) { -webkit-transition: tout le contenu $ durée linéaire $; -moz-transition: tout le contenu $ durée linéaire $; -o-transition: tout le contenu $ durée linéaire $; transition: tout le contenu $ durée linéaire $; }
J'ai ajouté le $content
variable et le définir comme null
. Maintenant, vous pouvez appeler le mixin simple avec:
@include transition(0.3s);
et si vous voulez ajouter !important
, utilisation
@include transition(0.3s, !important);
Merci!
1 pour la réponse № 3
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);
Résultat:
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%); }
Cela fonctionne aussi avec un mixin à deux variables (et plus)!