Los gradientes o degradados en CSS no son propiedades por sí mismos, sino un tipo especial de imagen de fondo. Por eso, siempre se aplican usando las propiedades background-image o la abreviada background.
/* De arriba hacia abajo (por defecto) */ background-image: linear-gradient(#3498db, #9b59b6); /* Dirección a 45 grados: Azul (inicio), Morado (al 50%), Rosa (final) */ background-image: linear-gradient(45deg, #3498db 0%, #9b59b6 50%, #e74c3c 100%);
Existen tres tipos principales de gradientes en CSS, y todos se generan mediante funciones matemáticas del navegador, lo que significa que no pesan nada y escalan perfectamente a cualquier resolución.
| Propiedad | Descripcion |
|---|---|
| linear-gradient | Los colores avanzan en línea recta. Es el tipo de degradado más común. |
| radial-gradient | Los colores emergen desde un punto central (un foco) y se expanden de forma circular o elíptica hacia afuera. |
| conic-gradient | Los colores rotan alrededor de un punto central, similar a las agujas de un reloj o a un gráfico de pastel. Son excelentes para crear efectos metálicos, ruedas de color o dashboards. |
Los colores avanzan en línea recta. Es el tipo de degradado más común.
.caja {
/* De arriba hacia abajo (por defecto) */
background-image: linear-gradient(#3498db, #9b59b6);
}
Los colores emergen desde un punto central (un foco) y se expanden de forma circular o elíptica hacia afuera.
.caja-radial {
/* Un destello que va desde el centro blanco hacia un fondo oscuro */
background-image: radial-gradient(circle, #ffffff 0%, #2c3e50 80%);
}
Los colores rotan alrededor de un punto central, similar a las agujas de un reloj o a un gráfico de pastel. Son excelentes para crear efectos metálicos, ruedas de color o dashboards.
.caja-conica {
background-image: conic-gradient(#f1c40f, #e67e22, #e74c3c, #f1c40f);
}
Por defecto, los degradados solo se aplican a los fondos de los contenedores. Si quieres que el texto de un título tenga un gradiente, necesitas este truco de tres líneas:
.texto-gradiente {
background-image: linear-gradient(to right, #ff416c, #ff4b2b);
-webkit-background-clip: text; /* Corta el fondo para que solo rellene las letras */
-webkit-text-fill-color: transparent; /* Hace el texto transparente para ver el fondo */
display: inline-block; /* Asegura que el bloque se adapte al tamaño del texto */
}