Generador de sombras CSS (box-shadow)

Sombras CSS en capas e inset con vista previa. Copia el CSS.

Empezar desde
Capas de sombra
Vista previa
Fondo de la página

Qué hace esta herramienta

Una sombra de caja es la zona oscura, suave o dura, que hace que una tarjeta, un botón o un menú parezcan elevados sobre la página. En CSS es una sola propiedad, box-shadow, pero admite hasta seis valores por sombra y cualquier número de sombras, algo difícil de imaginar solo con números. Esta herramienta te deja construirla cambiando los números y viendo cómo reacciona una tarjeta, y te da el CSS para copiar. Puedes apilar hasta ocho capas, usar sombras interiores, elegir el color con transparencia y pegar un box-shadow existente para editarlo. Todo se ejecuta en tu navegador y no se sube nada.

Cómo se usa

  1. Empieza con una plantilla (Suave, En capas, Elevada, Desplazada, Interior, Resplandor) o con la inicial.
  2. Elige una capa y ajusta desplazamiento horizontal y vertical, desenfoque, extensión, color y opacidad. Activa Interior (inset) para dibujar la sombra dentro de la caja.
  3. Añade capas con Añadir capa, y reordénalas, duplícalas o elimínalas con los botones sobre los campos.
  4. Elige un fondo de página y un color de tarjeta para juzgar la sombra donde de verdad va a estar.
  5. Pulsa Copiar CSS.

Qué hace cada número

La sintaxis de una sombra es inset? offset-x offset-y blur spread color. Los dos desplazamientos mueven la sombra a la derecha y hacia abajo; los negativos, a la izquierda y hacia arriba. El desenfoque suaviza el borde: la especificación pide un desenfoque gaussiano con desviación típica igual a la mitad del valor, así que 30px se desvanece en unos 30px. Nunca puede ser negativo. La extensión agranda la sombra en todas direcciones antes de desenfocarla, o la reduce si es negativa. Una extensión negativa con un desplazamiento vertical grande da el aspecto de "elevada", porque la sombra es menor que la tarjeta y solo asoma por debajo. Una sombra sigue el border-radius de la tarjeta y no cambia el diseño alrededor.

Capas: por qué varias sombras parecen más reales

La luz real no hace una sombra uniforme. Cerca del objeto la sombra es pequeña y oscura; más lejos, ancha y tenue. La plantilla En capas lo imita con cinco sombras, cada una el doble que la anterior y todas al 8 % de opacidad: 0 1px 1px, 0 2px 2px, 0 4px 4px, 0 8px 8px y 0 16px 16px. Su suma es más suave que una sola sombra con el mismo desenfoque total. En CSS las sombras se separan con comas y la primera se dibuja encima, así que el orden importa cuando se solapan.

Color, formatos y fondos oscuros

Las sombras quedan mejor en un color oscuro transparente que en un gris sólido, porque el color de la página se transparenta. La opacidad es parte del color: rgba(0, 0, 0, 0.15) y el hex #00000026 son el mismo color, y puedes elegir cualquiera de los formatos. Sobre un fondo oscuro una sombra negra casi no se ve; usa un desplazamiento mayor, más opacidad o un resplandor de color.

drop-shadow() y datos útiles

filter: drop-shadow() es un pariente de box-shadow que sigue el contorno visible de lo dibujado, ideal para un PNG con esquinas transparentes o un icono SVG. No tiene extensión ni inset, así que la herramienta ofrece esa versión solo para capas que no los usan. Las sombras se dibujan fuera de la caja, así que un ancestro con overflow: hidden las recorta. En modo de colores forzados (alto contraste), los navegadores quitan las sombras de caja, así que no dependas solo de una sombra para mostrar el foco. Combínalas con el generador de degradados y comprueba el color del texto con las herramientas de color.

Preguntas frecuentes

¿En qué orden van los valores de box-shadow?

`inset` opcional, desplazamiento horizontal, vertical, desenfoque, extensión y color: `box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.15);`. La herramienta omite una extensión de 0 y escribe 0 sin unidad.

¿Cómo hago una sombra solo en un lado?

Usa una extensión negativa con un desplazamiento hacia donde quieras. Por ejemplo `0 10px 10px -10px rgba(0, 0, 0, 0.4)` muestra la sombra solo debajo de la caja.

¿Por qué se corta mi sombra?

Un elemento padre con `overflow: hidden` o `auto` recorta todo lo que queda fuera, sombras incluidas. Añade relleno al padre o mueve el recorte a un elemento interior.

¿Puedo editar una sombra que ya tengo?

Sí. Pega el valor, o la línea `box-shadow:` completa, en el cuadro bajo las capas y pulsa Leer. Se entienden longitudes en px y colores hex, rgb() y hsl(); lo demás se omite y se lista.