Salut, j'essaie d'apprendre SASS / SCSS et j'essaye de refactoriser mon propre mixin pour clearfix
ce que j'aimerais, c'est que le mixin soit basé sur le fait que je passe le mix dans une largeur.
pensées jusqu'à présent (pseudo code uniquement car je vais inclure d'autres mixins)
@mixin clearfix($width) {
@if !$width {
// if width is not passed, or empty do this
} @else {
display: inline-block;
width: $width;
}
}
voici comment je pensais pouvoir l'appeler, mais cela ne fonctionne pas.
@include clearfix();
ou
@include clearfix(100%)
ou
@include clearfix(960px)
J'apprécierais toute aide sur la meilleure ou la bonne façon de faire cela!
conditional
mixins
sass
if-statement
clairesuzy
la source
la source
Réponses:
Vous pouvez essayer ceci:
Je ne suis pas sûr du résultat escompté, mais la définition d'une valeur par défaut doit renvoyer false.
la source
" "
mais j'aime mieux la valeur automatique :) - je n'ai pas besoin de définir de variable bien que je l'ai mis dans la syntaxe de mixin comme valeur par défaut@mixin clearfix($width: auto) {...
merci :)Vous pouvez affecter des valeurs de paramètre par défaut en ligne lorsque vous créez le mixin pour la première fois:
la source
Vous pouvez définir par défaut le paramètre
null
oufalse
.De cette façon, il serait plus court de tester si une valeur a été passée en paramètre.
la source