Este artículo incluye información sobre cómo definir una variable en SASS y el alcance de una variable.
Requisito previo: Variables en CSS
Ventajas de una variable:
- Reduce la repetición de lo mismo una y otra vez.
- Podemos realizar operaciones matemáticas sobre variables como +,-,/,* etc…, lo que facilita mucho nuestro trabajo.
- Declaración de una variable en SASS: En SASS, puede definir una variable utilizando el símbolo $al comienzo del nombre de la variable y seguido de su valor.
- Archivo SCSS:
$textcolor:
blue
;
$
size
:
10px
;
$border_changes:
1px
solid
rgba(
255
,
153
,
153
,
0.2
);
#para
1
{
color
: $textcolor;
font-size
: $size;
border
: $border_changes;
}
// You can also use other variables
// in the declaration of a variable
$border_changes
2:
1px
solid
$textcolor;
#para
2
{
color
: $textcolor;
font-size
: $size;
border
: $border_changes
2
;
}
- Archivo CSS compilado:
#para
1
{
color
:
blue
;
font-size
:
10px
;
border
:
1px
solid
rgba(
255
,
153
,
153
,
0.2
);
}
#para
2
{
color
:
blue
;
font-size
:
10px
;
border
:
1px
solid
blue
;
}
- Archivo SCSS:
- Comprensión del alcance de una variable: las variables SASS se pueden declarar en cualquier parte del documento antes de que se utilicen.
- Variables globales: las variables, que se declaran en la parte superior del archivo, son globales, es decir, puede usarlas en cualquier parte del documento.
- Variables con alcance: las variables que se declaran en cualquier bloque tienen un alcance, es decir, no puede usarlas fuera del alcance del bloque.
- Archivo SASS:
$global:
#FF0000
;
#para
1
{
$local:
#F0F000
;
color
: $
local
;
border
:
1px
solid
$
local
;
}
// You can not use $
local
outside
of its
// #para
1
{ }
block
.
// This will generate error
// saying
"undefined variable"
$global_onwards:
#00FEF0
;
h
1
{
// You can not use $
local
here
color
: $global;
// You can use $global_onwards,
border
:
1px
solid
$global_onwards;
}
- Archivo CSS compilado:
Hay más conceptos sobre las variables, como el sombreado de una variable, el valor predeterminado de una variable, la declaración de variables de control de flujo. Discutámoslos a continuación uno por uno:
Valor predeterminado de las variables
SASS permite que un usuario declare algunos valores predeterminados para las variables que se pueden usar si la variable no se declara o no se le asigna un valor de ‘nulo’. Si una variable se declara con algún valor, ese valor se sobrescribe sobre el valor predeterminado. En SASS, la variable predeterminada se asigna con la etiqueta !default .
Sintaxis de la variable predeterminada:
$color: black !default ; //black is the default value to the variable 'color'
Sombreado de variables
En SASS, se pueden escribir dos variables con exactamente el mismo nombre: una global y otra local. En tal condición, el usuario puede cambiar por error el valor de la variable global al cambiar el valor de la variable local. Para evitar tal condición, SASS tiene la función de sombreado, en la que al escribir una variable local dentro de un ámbito local no cambia necesariamente el valor de la variable global.
A continuación se muestra un ejemplo para mostrar la funcionalidad anterior:
//SASS Code file $colour: black; .nav $colour: blue; background-color: $colour; .p background-color: $colour;
El código anterior cuando se compila en CSS nativo se convierte en:
CSS
.nav { background-color: blue; } .p { background-color: black; }
Ahora, para cambiar el valor de la variable global desde el ámbito local, debemos mencionar la etiqueta “!global” al lado de la variable como se muestra a continuación:
//SASS Code file\ $colour: black; .nav $colour: blue !global; background-color: $colour; .p background-color: $colour;
El código anterior cuando se compila en CSS nativo se convierte en:
CSS
.nav { background-color: blue; } .p { background-color: blue; }
Reglas de control de flujo de variables
Flow Control Scope ayuda a definir los valores de las variables en función del flujo del programa. Hacen que el código sea mucho más fácil de entender y hace que el código sea igual que otros lenguajes de programación como Java, C++, etc. Cambia los valores de algunas de las variables en función del valor de otras variables o características. A continuación se muestra un código de ejemplo que muestra las reglas de control de flujo de las variables:
//SASS Code file $bool: true; $font_color: blue; $bg_color: skyblue; @if $bool $font_color: violet; $bg_color: pink; .nav background-color: $bg_color color: $font_color
El código anterior cuando se compila en CSS nativo:
CSS
.nav { background-color: pink; color: violet; }
Publicación traducida automáticamente
Artículo escrito por Aakash_Panchal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA