Logo Guillermo Vásquez

Funciones en Preprocesadores CSS: Potencia tu Estilo

¿Qué son las Funciones en Preprocesadores?

Al igual que en JavaScript o Python, los preprocesadores CSS como Sass y Less te permiten definir funciones. Estas funciones pueden realizar cálculos, manipular valores y retornar resultados que luego se utilizan en tus estilos. Esto añade una capa de dinamismo y reutilización a tu CSS.

Diagrama de Funciones

¿Por qué usar funciones?

Las funciones te ayudan a:

  • Realizar cálculos complejos de forma sencilla.

  • Mantener la coherencia en valores derivados (ej., colores más oscuros o claros).

  • Encapsular lógica de estilo reutilizable.

  • Hacer tu código más legible y mantenible.

Sintaxis Básica en Sass

En Sass, las funciones se definen con la directiva @function, seguida del nombre de la función y sus argumentos entre paréntesis. El valor que la función retorna se especifica con @return.

Sass (Definición de Función)

@function darken-color($color, $amount) {
  @return darken($color, $amount);
}

@function calculate-rem($pixels) {
  @return ($pixels / 16px) * 1rem;
}

Sass (Uso de la Función)

.button {
  background-color: darken-color($azul, 10%);
  padding: calculate-rem(16px) calculate-rem(32px);
}

h2 {
  margin-bottom: calculate-rem(24px);
}

Ejemplo Práctico: Paleta de Colores

Una aplicación común de las funciones es generar variaciones de una paleta de colores base.

$primary-color: #1e90ff;

@function lighten-color($color, $amount) {
  @return lighten($color, $amount);
}

.button-primary {
  background-color: $primary-color;
  color: white;
}

.button-primary:hover {
  background-color: lighten-color($primary-color, 10%);
}

Conclusión

Las funciones en los preprocesadores CSS son una herramienta poderosa para escribir CSS más inteligente y eficiente. Al permitir la abstracción de lógica y la reutilización de código, contribuyen significativamente a la mantenibilidad y escalabilidad de tus proyectos.


  • 1. Realizan cálculos y manipulaciones de valores dinámicamente.

  • 2. Promueven la consistencia en valores derivados.

  • 3. Reducen la repetición de código y mejoran la legibilidad.

  • 4. Facilitan la creación de sistemas de diseño más robustos.