Cuándo usar @if
Usa @if para resolver variaciones conocidas durante compilación: tono, tamaño, densidad o modo visual.
Si la decisión depende del usuario en tiempo real, eso corresponde a CSS/JS en runtime, no a Sass.
Aplica lógica en Sass para variantes controladas sin duplicar reglas, manteniendo salida CSS clara y predecible.
Las condicionales Sass permiten activar variantes de estilo en compilación, no en runtime del navegador.
@if es útil para themes, tamaños y modos de componente cuando la decisión es de build-time.
La lógica debe ser simple: muchas ramas suelen ser señal de arquitectura débil.
Piensa en reglas de sistema, no en ifs improvisados por componente.
Usa @if para resolver variaciones conocidas durante compilación: tono, tamaño, densidad o modo visual.
Si la decisión depende del usuario en tiempo real, eso corresponde a CSS/JS en runtime, no a Sass.
Puedes combinar mixins y @if para reducir duplicación manteniendo lectura clara.
Evita ramas largas; prioriza dos o tres opciones bien nombradas.
Aplica lógica en Sass para variantes controladas sin duplicar reglas, manteniendo salida CSS clara y predecible.
Código del tema: Arquitectura Sass escalable
Usa @if para resolver variaciones conocidas durante compilación: tono, tamaño, densidad o modo visual.
Si la decisión depende del usuario en tiempo real, eso corresponde a CSS/JS en runtime, no a Sass.
Puedes combinar mixins y @if para reducir duplicación manteniendo lectura clara.
Evita ramas largas; prioriza dos o tres opciones bien nombradas.
@mixin button-tone($tone) {
@if $tone == primary {
background: #2563eb;
color: #fff;
} @else if $tone == danger {
background: #dc2626;
color: #fff;
} @else {
background: #e2e8f0;
color: #0f172a;
}
}
.btn {
@include button-tone(primary);
padding: .625rem 1rem;
border-radius: 10px;
}