Propiedades CSS personalizadas con @property para animaciones

Clase 15 de 34Curso de CSS Avanzado y Responsive Design

Resumen

¿Te gustaría tener más control en tus animaciones CSS? La API Properties te permite crear propiedades personalizadas y utilizarlas con total precisión para animar elementos en una página web. Aprende fácilmente cómo crear y utilizar propiedades que cambian dinámicamente al interactuar con elementos como el mouse.

¿Qué es la API Properties en CSS?

La API Properties es una funcionalidad en CSS que permite definir propiedades personalizadas, similares a variables, cuya particularidad es que pueden animarse de forma sencilla. Al usar esta herramienta, puedes personalizar animaciones que reaccionan dinámicamente con la interacción del usuario, como mover el cursor por encima de un elemento.

¿Cómo definir una propiedad personalizada usando Property?

Para utilizar la API Properties correctamente, es importante seguir la sintaxis específica de CSS:@property.

@property --color-fondo{
    syntax: "<color>";
    inherits: false;
    initial-value: white;
}

En este bloque:

  • syntax indica el tipo de valor que esperas (en este caso, color).
  • inherits determina si la propiedad se hereda por elementos secundarios (false significa que no lo hace).
  • initial-value representa el valor inicial que tomará la propiedad.

¿Cómo aplicar esta propiedad en una animación CSS?

Para que la propiedad personalizada pueda animarse, agrégala usando la función var y combínala con la propiedad transition. El siguiente ejemplo muestra cómo cambiar el color de fondo al pasar el cursor por encima:

body{
    background-color: var(--color-fondo);
    transition: --color-fondo 2s ease-in;
}

body:hover{
    --color-fondo: yellow;
}

Aquí observamos:

  • Se define la variable personalizada --color-fondo.
  • Transition establece una transición progresiva sobre esa propiedad en 2 segundos con efecto ease-in.

¿Qué cuidados debo tener al utilizar la API Properties?

Al implementar esta API, considera lo siguiente:

  • Asegúrate de que los valores iniciales (initial-value) correspondan con el tipo definido en la sintaxis.
  • Define correctamente el área del elemento activado por hover, porque el área que activa el efecto corresponde precisamente al espacio ocupado por el elemento.
  • Comprueba visualmente y usando herramientas como el inspector (F12) para entender qué está ocurriendo en tu código.

Cuéntanos, ¿te animas a utilizar la API Properties en tus próximos proyectos web? ¡Déjanos tus comentarios debajo!