ximg.es

Generador de box-shadow

Diseña la sombra de una imagen, una tarjeta o un botón moviendo los controles, y copia el CSS. Admite varias capas y sombra interior, y el enlace de la página guarda la sombra para compartirla.

Código CSS

box-shadow:
  0 10px 25px -5px rgba(0, 0, 0, 0.25),
  0 8px 10px -6px rgba(0, 0, 0, 0.1);

La imagen de ejemplo es un placeholder de ximg.es: /480x300/2563eb/ffffff.png?text=box-shadow

Ejemplos
Capas

Cómo funciona box-shadow

La propiedad box-shadow dibuja una o varias sombras alrededor de la caja de un elemento. Cada sombra se escribe con este orden:

box-shadow: [inset] desplazamiento-x desplazamiento-y [desenfoque] [expansión] color;

Varias sombras en un mismo elemento

Las sombras se separan con comas y la primera queda por encima de las demás. Combinar una sombra corta y marcada con otra amplia y suave da un resultado mucho más natural que una sola sombra oscura: es lo que hacen los ejemplos Elevada y Por capas.

box-shadow:
  0 1px 2px rgba(0, 0, 0, 0.08),
  0 8px 24px rgba(0, 0, 0, 0.12);

Sombras en imágenes: box-shadow o drop-shadow

box-shadow sigue la forma de la caja, incluido su border-radius, así que es lo que necesitas para fotos y tarjetas. Si la imagen es un PNG o un SVG con fondo transparente y quieres que la sombra siga el contorno del dibujo, usa el filtro drop-shadow():

img.logo { filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3)); }

drop-shadow() no admite expansión ni inset, y no se puede combinar con varias capas separadas por comas.

Consejos

Preguntas frecuentes

¿Qué es box-shadow en CSS?

Es la propiedad que añade sombras a la caja de un elemento. Admite desplazamiento, desenfoque, expansión, color y la palabra clave inset, y se pueden aplicar varias sombras separadas por comas. Funciona en todos los navegadores actuales sin prefijos.

¿Cómo pongo una sombra solo en la parte de abajo?

Usa un desplazamiento vertical positivo y una expansión negativa del mismo orden que el desenfoque, para que la sombra no asome por los lados: box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.3);

¿Cómo hago una sombra interior?

Añade inset al principio: box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.2);. Es útil para campos de formulario o botones pulsados.

¿Se pueden poner varias sombras a la vez?

Sí, separándolas con comas. La primera de la lista se pinta por encima. En este generador, cada sombra es una capa.

¿Por qué la sombra de mi PNG transparente sale cuadrada?

Porque box-shadow sigue la caja del elemento, no el dibujo. Para que siga la silueta, usa filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3)).

¿box-shadow afecta al rendimiento?

Una sombra estática apenas cuesta. Lo que pesa es animarla o usar desenfoques muy grandes en muchos elementos, porque obliga a repintar. Para animaciones, cambia la opacidad de un pseudoelemento con la sombra.

Más herramientas

Ver todas las herramientas · Generador de imágenes placeholder