Bordes con degradados e imágenes en CSS
Ya conoces la propiedad border
y sabes cómo usarla para crear bordes en CSS.
En este artículo aprenderás a crear bordes multicolor y bordes con imágenes, gracias a la propiedad border-image
de CSS.
Configurando el ejemplo
Antes de empezar, vamos a crear la clase CSS principal que vamos a usar como base en todos los ejemplos.
.box {
width: 200px;
height: 100px;
border-style: solid;
border-width: 10px;
}
Usamos esta clase CSS en un elemento HTML.
<div class="box"></div>
Bordes con imágenes
Lo primero que hay que hacer es crear otra clase CSS y luego usarla en el elemento HTML.
.border-image {
border-image-source: url(/image/path/file.png);
border-image-slice: 1;
/* También podemos usar el shorthand
* border-image: url(/image/path/file.png) 1;
*/
}
<div class="box border-image"></div>
El resultado es el siguiente:
Te muestro también la imagen que se está usando para que entiendas mejor el funcionamiento de la propiedad CSS border-image
.
Bordes con degradados
Hay 3 formas de crear bordes con degradados de colores en CSS: usando linear-gradient
, radial-gradient
o conic-gradient
.
Linear gradient
Creamos la nueva clase de CSS y después la usamos nuestro elemento HTML.
En este caso concreto, podemos indicar el ángulo que queremos que tenga el degradado. Por defecto, el degradado en CSS tiene un ángulo de 0 grados.
Para este ejemplo, usamos un ángulo de 45 grados. Con el segundo cuadrado se ve mejor el ángulo y se entiende mejor el concepto de borde degradado.
.linear-gradient {
border-image: linear-gradient(45deg, red, lime, blue) 1;
}
<div class="box linear-gradient"></div>
Se verá así:
Ya tienes un div
con el borde degradado usando linear-gradient
.
Radial gradient
Lo mismo que el anterior, pero usamos radial-gradient
en vez de linear-gradient
.
.radial-gradient {
border-image: radial-gradient(red, cyan) 1;
}
<div class="box radial-gradient"></div>
El resultado sería el siguiente:
El motivo por el que se ve así es que el degradado empieza en el centro del div
y en las esquinas casi no se ve el degradado del rojo. Lo que más se ve es el color azul cyan
.
Esta es la segunda forma de crear un borde con degradado. Ya tienes otro div
con el borde degradado usando radial-gradient
.
Conic gradient
Es muy parecido al anterior, pero usamos conic-gradient
en vez de radial-gradient
.
.conic-gradient {
border-image: conic-gradient(lime, fuchsia, cyan) 1;
}
<div class="box conic-gradient"></div>
El resultado sería el siguiente:
Esta es la tercera forma de crear un borde con degradado. Ya tienes otro div
con el borde degradado usando conic-gradient
. Te dejo los 2 ejemplos con border
y con background
, para que entiendas mejor el concepto.
Conclusiones
En este artículo aprendiste a crear bordes con degradados y con imágenes en CSS.
A día de hoy (Marzo de 2022), Can I Use te muestra que un 97% de los navegadores web soportan las propiedades border-image
y border-image-slice
, necesarias para hacer bordes con degradados de colores o bordes con imágenes.
Los bordes con degradados e imágenes son muy divertidos, pero tienen una desventaja: de momento no funcionan bien con border-radius
.
Si te gustó este artículo, compártelo en tus redes sociales y déjame un comentario con tus dudas o sugerencias.
¡Happy Colorful Coding! 🌈🎨