Gradientes cónicos

La función conic-gradient() de CSS


Existe un tercer tipo de gradiente en CSS, visualmente muy similar al gradiente radial, pero haciendo referencia a una figura cónica vista desde un plano superior, incluyendo sus sombras y brillos.

La función conic-gradient()

Se trata de la función conic-gradient(), que permite crear gradientes cónicos. Su sintaxis es la siguiente:

Función y modalidadTipo de gradiente
conic-gradient(, , ...)Básico entre colores.
conic-gradient(from , , , ...)Con posición de color.
conic-gradient(from at ubicación, , , ...)Con ubicación del inicio.
conic-gradient(from at ubicación, , , ...)Con posición de inicio y fin.

Punto de inicio del gradiente

Mediante la palabra clave from podemos indicar los grados desde los cuales comenzamos el gradiente cónico, que por defecto, se establece en 0deg.

ParámetrosValor
from Ángulo desde donde comienza el gradiente cónico. Por defecto from 0deg.

Recuerda que es posible indicar varios tipos de unidades, entre las que se encuentran grad, rad o turn, a parte de deg:

DirecciónGradosGradianesRadianesGiro
Arribafrom 0 ó from 360degfrom 0 ó from 400gradfrom 0 ó from radfrom 0 ó from 1turn
Arriba-derechafrom 45degfrom 50gradfrom 0.78rad (π/4)from 0.125turn
Derechafrom 90degfrom 100gradfrom 1.57rad (π/2)from 0.250turn
Abajo-derechafrom 145degfrom 150gradfrom 2.35radfrom 0.375turn
Abajofrom 180degfrom 200gradfrom 3.14rad (π)from 0.5turn
Abajo-izquierdafrom 215degfrom 250gradfrom 3.92radfrom 0.625turn
Izquierdafrom 270degfrom 300gradfrom 4.71rad (2π)from 0.75turn
Arriba-izquierdafrom 325degfrom 350gradfrom 5.49radfrom 0,875turn

Posición del centro

Es posible indicar una ubicación específica para colocar el centro del gradiente en el elemento en cuestión en el que nos encontremos. Para ello, solo tenemos que indicar la palabra clave at, seguido del lugar donde queremos colocarlo:

ParámetrosValor
Indica la ubicación en x e y de la forma del gradiente, por ejemplo, con porcentajes.
[ubicación]center | top | left | right | bottom | top left | top right | bottom left | bottom right

Un pequeño ejemplo para ilustrar como dar posición a un gradiente cónico:

.element {
  width: 600px;
  height: 400px;

  /* Gradiente cónico que comienza arriba, centrado en horizontal */
  background-image: conic-gradient(at 50% 0%, blue, black);
}
<div class="element"></div>

Por su parte, indicar los colores del gradiente se hace exactamente de la misma forma que en los gradientes lineales, salvo que en este caso se trata de un gradiente cónico.

La función repeating-conic-gradient()

Por último, todos los gradientes que hemos visto hasta ahora, permiten la posibilidad de añadir el prefijo repeating- para conseguir que el efecto del gradiente, en lugar de adaptarse a la región completa, realice una repetición constantemente. El caso de los gradientes cónicos no es una excepción:

.element {
  width: 500px;
  height: 250px;
  background: repeating-conic-gradient(blue 10%, yellow 20%, red 30%);
}
<div class="element"></div>

Es importante que al usar el prefijo repeating- se especifiquen tamaños a los colores, puesto que se necesita saber cuando comenzará a repetirse. En los ejemplos anteriores, los colores seguirían el patrón hasta el último color y volverían a repetirse sucesivamente, de forma que tendríamos:

  • Primera repetición: blue 10%, yellow 20%, red 30%
  • Segunda repetición: blue 40%, yellow 50%, red 60%
  • Tercera repetición: blue 70%, yellow 80%, red 90%
  • Cuarta repetición: blue 100%

¿Quién soy yo?

Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.

Puedes encontrar más sobre mi en Manz.dev