quĆ© mixin imports define declaraciĆ³n crear condicionales compila calculos sass mixins

imports - Saltando un argumento opcional en Sass Mixin



mixins css (1)

A partir de SASS 3.1 puede pasar argumentos con nombre para hacer eso:

@include linear-gradient($from: #7a7a7a, $to: #1a1a1a, $ie-filters: true);

El resto será por defecto.

Tengo esta mezcla para manejar un simple gradiente lineal CSS3:

@mixin linear-gradient($from, $to, $dir: bottom, $dir-webkit: top, $ie-filters: false) { background-color: $to; background-image: -webkit-linear-gradient($dir-webkit, $from, $to); background-image: linear-gradient(to $dir, $from, $to); @if $ie-filters == true and $old-ie { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=''#{ie-hex-str($from)}'', endColorstr=''#{ie-hex-str($to)}''); } }

$dir es la abreviatura de "dirección".

Si necesito que $ie-filters ''verdadero'' y no necesito cambiar los valores predeterminados de $dir / $dir-webkit , todavía necesito volver a declararlos, lo que obviamente no es muy SECO y óptimo, por lo que tengo que hacer esto

@include linear-gradient(#7a7a7a, #1a1a1a, bottom, top, true);

Cuando solo quiero hacer esto:

@include linear-gradient(#7a7a7a, #1a1a1a, true);

¿Cómo puedo omitir los argumentos de esta manera al llamar a un mixin?

PD: si se está preguntando sobre el argumento $dir-webkit , es para Webkit ya que aún no maneja la nueva sintaxis de gradiente (consulte: http://generatedcontent.org/post/37949105556/updateyourcss3 -> Nueva sintaxis de gradiente ), La dirección debe ser opuesta a la sintaxis estándar.