Condicionales en SASS
Este artículo explica los condicionales en SASS.
Explicamos claramente todo, desde lo básico hasta usos avanzados de los condicionales con las directivas @if, @else if y @else, con ejemplos prácticos.
YouTube Video
Condicionales en SASS
SASS es un lenguaje de hojas de estilo que extiende CSS, y puedes controlar los estilos de forma flexible usando condicionales. En SASS, puedes usar @if, @else if y @else para cambiar la salida de estilos en tiempo de compilación.
Sintaxis básica de condicionales
Los condicionales básicos en SASS se escriben con la siguiente sintaxis.
1@if condition {
2 // Code executed when the condition is true
3} @else if condition {
4 // Code executed when another condition is true
5} @else {
6 // Code executed when all conditions are false
7}@ifevalúa la primera condición y, si es falsa, se evalúan en orden los bloques@else ifo@else.
Ejemplo simple de condicional
En el siguiente ejemplo, el color de fondo cambia según la variable $theme.
1$theme: "dark";
2
3body {
4 @if $theme == "dark" {
5 background-color: #333;
6 color: #fff;
7 } @else if $theme == "light" {
8 background-color: #fff;
9 color: #000;
10 } @else {
11 background-color: #f0f0f0;
12 color: #333;
13 }
14}CSS compilado
1body {
2 background-color: #333;
3 color: #fff;
4}- Cuando
$themees"dark", se aplican un fondo oscuro y un color de texto blanco.
Combinando condicionales con cálculos
Los condicionales manejan no solo comparaciones de cadenas y colores, sino también cálculos numéricos.
1$width: 1200px;
2
3.container {
4 @if $width > 1000px {
5 max-width: 1200px;
6 } @else {
7 max-width: 800px;
8 }
9}CSS compilado
1.container {
2 max-width: 1200px;
3}- También son posibles comparaciones numéricas y, cuando
$widthsupera 1000px, se generamax-width: 1200px.
Condicionales anidados
Al anidar condicionales, puedes expresar condiciones complejas.
1$theme: "dark";
2$size: "large";
3
4button {
5 @if $theme == "dark" {
6 background-color: #000;
7 color: #fff;
8
9 @if $size == "large" {
10 padding: 20px;
11 } @else {
12 padding: 10px;
13 }
14 } @else {
15 background-color: #fff;
16 color: #000;
17
18 @if $size == "large" {
19 padding: 15px;
20 } @else {
21 padding: 8px;
22 }
23 }
24}CSS compilado
1button {
2 background-color: #000;
3 color: #fff;
4 padding: 20px;
5}- La anidación de condicionales permite aplicar estilos en función tanto del tema como del tamaño.
Uso de condicionales en funciones personalizadas
Usar condicionales dentro de funciones personalizadas puede mejorar la reutilización.
1@function adjust-color($theme) {
2 @if $theme == "dark" {
3 @return #333;
4 } @else if $theme == "light" {
5 @return #fff;
6 } @else {
7 @return #ccc;
8 }
9}
10
11.card {
12 background-color: adjust-color("dark");
13}CSS compilado
1.card {
2 background-color: #333;
3}- Al encapsular condicionales en funciones, puedes aumentar la reutilización y la mantenibilidad.
Ejemplo práctico - Alternar diseños
Veamos un ejemplo de cómo cambiar el diseño general según ciertas condiciones.
1$theme: "light";
2
3body {
4 font-family: Arial, sans-serif;
5
6 @if $theme == "dark" {
7 background-color: #121212;
8 color: #e0e0e0;
9 } @else if $theme == "light" {
10 background-color: #f9f9f9;
11 color: #333;
12 } @else {
13 background-color: #fff;
14 color: #000;
15 }
16}
17
18header {
19 @if $theme == "dark" {
20 border-bottom: 1px solid #333;
21 } @else {
22 border-bottom: 1px solid #ccc;
23 }
24}CSS compilado
1body {
2 font-family: Arial, sans-serif;
3 background-color: #f9f9f9;
4 color: #333;
5}
6
7header {
8 border-bottom: 1px solid #ccc;
9}- Puedes alternar dinámicamente el esquema de colores de toda la página según la variable de tema.
Notas y buenas prácticas
Al usar condicionales en SASS, puedes considerar los siguientes puntos.
-
Mantén los condicionales simples
La anidación compleja perjudica la legibilidad, por lo que aprovechar funciones y mixins ayuda a mantener las cosas simples.
-
Abstrae con variables y funciones
Si usas condiciones similares en varios lugares, consolidarlas en variables o funciones mejora la mantenibilidad.
-
Evita la lógica excesiva
Unifica las reglas de diseño tanto como sea posible y evita el uso excesivo de condicionales.
Conclusión
Los condicionales en SASS son una herramienta muy efectiva para crear estilos flexibles y dinámicos. Aquí explicamos todo paso a paso, desde lo básico hasta ejemplos prácticos. Al usar condicionales en proyectos reales, diseña pensando en código reutilizable y procurando no complicar en exceso las cosas.
Puedes seguir el artículo anterior utilizando Visual Studio Code en nuestro canal de YouTube. Por favor, también revisa nuestro canal de YouTube.