Contenido del curso
Instalación y configuración del entorno de trabajo
Reglas y uso
Expresiones
Proyecto: sección main
Herencia en SASS
Mixins
Funciones
Proyecto
Deploy
Extras
Mixins de Flexbox con parámetros en SASS
Resumen
Si trabajas con SASS y notas que repites las mismas propiedades de flexbox o de estilos de botones en varios bloques, los mixins son tu mejor aliado. Aquí verás cómo aplicarlos en un proyecto real para centralizar estilos, recibir parámetros y mantener un código mucho más limpio.
¿Cómo se declara un mixin de Flexbox con parámetros en SASS?
El primer paso es ubicar el mixin justo debajo de las variables, al inicio del archivo. Esto facilita que cualquier selector lo pueda invocar después.
Dentro del mixin flexcenter se fija una propiedad constante, display: flex, y se reciben tres argumentos que aportan flexibilidad: la dirección de los elementos, el tipo de alineación del contenido y la alineación de los ítems.
directioncontrolaflex-directiony define si el flujo va en row o en column.contentse conecta conjustify-contenty decide si el contenido queda al inicio, al centro, al final o con espaciado.alignalimentaalign-itemspara alinear elementos en el eje cruzado.
¿Qué es un mixin en SASS? Es un bloque reutilizable de estilos que puedes invocar con
@include. Si recibe parámetros, te permite cambiar valores cada vez que lo usas sin reescribir todo el bloque.
¿Cómo creo un mixin sencillo para botones?
No todos los mixins necesitan parámetros. Cuando varios botones comparten el mismo patrón visual, puedes encapsularlo en un mixin minimalista llamado button-style.
En este caso el mixin define background: none y border-style: none, ya que en el proyecto los botones no llevan fondo ni borde por defecto. Para invocarlo basta con escribir @include button-style; dentro del selector del botón.
Lo interesante aparece cuando un botón sí necesita un color particular. El mixin aplica los estilos compartidos, pero tú puedes asignar el color de forma independiente fuera del @include. Así reutilizas lo común sin perder la posibilidad de personalizar lo específico.
¿Dónde conviene aplicar el mixin flexcenter en el proyecto?
El mixin brilla en los puntos donde flexbox se repite. La navbar es uno de esos lugares: con una sola línea, @include flexcenter(row, space-between, center);, reemplazas las tres propiedades sueltas y mantienes el mismo comportamiento visual.
El article también gana claridad con @include flexcenter(row, space-between, center);. Si por error invocas el mixin equivocado, como button-style en lugar de flexcenter, los estilos no se aplican. Por eso conviene revisar siempre el nombre y el orden de los parámetros.
¿Por qué se rompen los estilos al usar un mixin? Casi siempre es por dos razones: te falta un parámetro o invocaste un mixin distinto al que necesitabas. Si omites un argumento obligatorio, el mixin no cumple su función.
¿Cómo lo aplico en la card section?
En la sección de tarjetas se eliminan propiedades innecesarias como width, height y align-items, y se reemplazan por @include flexcenter(row, space-evenly, center);.
Aquí aparece una decisión de diseño relevante: space-between separaba demasiado los elementos a medida que crecía el contenedor, así que space-evenly resulta más amigable porque distribuye el espacio de forma pareja entre y alrededor de los ítems.
¿Y en la sección de decoración del hogar?
No hace falta repetir el mixin. La sección furniture hereda los estilos de healthcare, así que cualquier cambio en la sección base se refleja automáticamente. La herencia en SASS te ahorra duplicar lógica cuando dos bloques comparten estructura.
¿Cuándo no vale la pena usar un mixin?
Esta es una pregunta clave de criterio profesional. En la impact-section solo cambia la dirección a column, mientras el resto se mantiene similar. Puedes invocar @include flexcenter(column, space-between, flex-start); para alinear los elementos al inicio del eje principal.
Pero si un selector solo comparte una o dos propiedades con el resto, el mixin puede sentirse forzado. La regla práctica es simple: usa mixins cuando detectes repetición real de varios estilos. Si la repetición es mínima, una clase directa puede ser más clara.
- Conviene usar mixin si tres o más propiedades se repiten en distintos selectores.
- Conviene usar mixin si el patrón cambia con parámetros y necesitas variantes.
- No conviene si solo cambia una propiedad puntual y aislada.
Después de implementar estos cambios, la navbar, el article, la card section y la impact section conservan su apariencia, pero el código queda mucho más mantenible. Cuéntame en los comentarios qué otros bloques de tu proyecto podrías refactorizar con un mixin.