J'aime faire des mixin avec SASS qui m'aident à faire de la bonne compatibilité inter-navigateur. Je veux faire un mixin qui ressemble à ceci:
@mixin box-shadow($value) {
box-shadow: $value;
-webkit-box-shadow: $value;
-moz-box-shadow: $value;
}
à qui je peux passer à quelque chose comme ceci:
@include box-shadow(inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5), inset 0px 0px 0px 1px #ff800f);
le résultat étant quelque chose comme ceci:
box-shadow: inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5),inset 0px 0px 0px 1px #ff800f;
-moz-box-shadow: inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5),inset 0px 0px 0px 1px #ff800f;
-webkit-box-shadow: inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5),inset 0px 0px 0px 1px #ff800f;
Toutefois, Cela ne fonctionne pas parce que le compilateur croit que je suis en train de passer le mixin 3 arguments. box-shadow prend un nombre variable d'séparées par des virgules bits, donc je ne peux pas il suffit de définir un mixin comme box-shadow($1,$2,$3)
.
J'ai essayé en passant
@include box-shadow("inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5), inset 0px 0px 0px 1px #ff800f");
et il a compilé, mais n'a pas fait de rendre les styles.
Des conseils sur la façon de résoudre ce problème?