Menu

Generador de Box Shadow CSS

Diseña box-shadow CSS multicapa con vista previa en vivo y copia CSS listo para producción.

Última actualización

Presets
Vista previa
Capas de sombra
Offset X0px
Offset Y8px
Blur24px
Spread0px
Opacidad0.18
Color
CSS
box-shadow:
    0px 8px 24px 0px rgba(0, 0, 0, 0.18);

¿Qué es un generador de box-shadow en CSS?

box-shadow es la propiedad de CSS que añade sombras, brillos y huecos interiores a cualquier elemento. Es la palanca más potente para darle *elevación* a un diseño plano - las tarjetas se despegan de la página, los modales flotan, los botones parecen pulsables.

El truco es que una sombra *buena* casi nunca es una sola capa. Las sombras reales son más suaves y tienen rebote ambiental - la mayoría de sistemas de diseño (Material, iOS, Tailwind) apilan 2 o 3 declaraciones box-shadow con distintos offsets y opacidades. Escribirlas a mano es engorroso; un generador te deja afinar cada capa visualmente y ver el resultado combinado en directo.

El generador de Coddy admite capas ilimitadas, sombras *exteriores* e *inset*, color y opacidad por capa y presets para los patrones más comunes: tarjetas sutiles, sombras nítidas, brillos de marca, huecos inset y superficies neumórficas. Copia el CSS y pégalo en tu hoja de estilos - sin subida, sin cuenta, sin marca de agua.

Lo que conviene saber de box-shadow

  • La sintaxis es box-shadow: [inset] <x> <y> <blur> <spread> <color>. inset mete la sombra *dentro* del elemento; sin él cae fuera.
  • *Blur* suaviza el borde - valores mayores producen una sombra más difusa. *Spread* engorda o adelgaza la sombra antes del blur (valores negativos la encogen, útil para elevaciones internas suaves).
  • Varias sombras se separan por coma y se apilan de atrás hacia delante en el orden escrito - la primera queda *debajo* de las posteriores en el compuesto final.

Cómo diseñar una box-shadow

  1. Empieza con un preset

    Elige un preset que se acerque a la sensación que buscas - tarjeta sutil, elevación suave, drop nítido, brillo de marca, hueco inset o neumórfico. Son buenos puntos de partida que luego puedes afinar.

  2. Afina la capa activa

    Mueve los sliders de X/Y, blur, spread, color y opacidad. La vista previa se actualiza al instante. Menor opacidad y mayor blur leen como sombras más *suaves*.

  3. Apila más capas

    Pulsa *Añadir capa* para apilar una segunda sombra. La profundidad real casi siempre usa dos capas: una corta y cerrada (sombra de contacto) y otra larga y suave (sombra ambiental).

  4. Activa inset para huecos internos

    Activar *Inset* pinta la sombra dentro del elemento. Combínala con una sombra exterior sutil para un efecto de botón pulsado.

  5. Copia el CSS

    Cuando la vista previa coincida con tu diseño, pulsa *Copiar CSS*. Pega el resultado en tu hoja de estilos - la regla generada incluye todas las capas activas.

Referencia rápida de box-shadow

Cada valor en box-shadow: x y blur spread color y el papel que juega.

ValorEfectoRango típico
X offsetDesplaza la sombra horizontal; positivo = derecha−40px a 40px
Y offsetDesplaza la sombra vertical; positivo = abajo0 a 40px para luz natural
BlurSuaviza el borde de la sombra0 a 80px
SpreadEngorda o adelgaza antes del blur−30 a 30px
ColorCualquier color CSS; rgba() te deja afinar opacidad por capargba(0,0,0,0.05–0.3) para sombras naturales
insetPinta la sombra dentro del elemento-
Varias capasSeparadas por coma; se apilan de atrás hacia delante2–3 capas dan profundidad realista

Ejemplos de box-shadow para probar

Tarjeta sutil con contacto + ambiente

Tarjeta sutil de dos capas
box-shadow:    0 1px 2px rgba(0, 0, 0, 0.06),    0 4px 12px rgba(0, 0, 0, 0.08);

Una sombra corta y cerrada marca el punto de contacto, y una más larga y suave da la sensación de luz ambiental. Es el patrón que usan la mayoría de sistemas de diseño modernos.

Brillo de marca

Glow coloreado suave
box-shadow: 0 0 24px 4px rgba(108, 140, 255, 0.45);

Pon X e Y a cero para que el brillo se irradie uniformemente. Un spread positivo pequeño engorda el brillo antes de que el blur lo suavice. Úsalo con moderación - los glows de color llaman mucho la atención.

Botón pulsado con inset

Sombra inset para aspecto pulsado
box-shadow:    inset 0 2px 6px rgba(0, 0, 0, 0.18),    inset 0 0 0 1px rgba(0, 0, 0, 0.06);

Las sombras inset pintan dentro del elemento. Una sombra suave da la sensación de un hueco hundido; un inset de un píxel añade un borde interior sutil para definirlo.

Errores típicos con box-shadow

  • Usar negro puro con mucha opacidad. Se lee como un recorte duro, no como una sombra. Baja la opacidad a 0.06–0.18 para una elevación natural.
  • Olvidar el Y offset. Una sombra con X=0 e Y=0 se queda *detrás* del elemento por igual - vale para un glow, no para una tarjeta que debe parecer flotar.
  • Apilar demasiadas capas. Tres suele bastar; diez producen un borrón confuso y un coste de paint notable.

Preguntas frecuentes sobre CSS box-shadow

¿Qué significa cada valor de box-shadow?
box-shadow: x y blur spread color. Los dos primeros son offsets; *blur* suaviza el borde; *spread* cambia el tamaño antes del blur; el color es cualquier color CSS (usa rgba() para opacidad). Añade inset al principio para ponerla dentro del elemento.
¿Cómo apilo varias sombras en una sola regla?
Separa cada sombra con una coma. Se renderizan de atrás hacia delante en el orden escrito, así que la primera queda *debajo* de las posteriores. Úsalo para combinar una sombra de contacto cerrada con otra ambiental suave.
¿Diferencia entre box-shadow y filter: drop-shadow()?
box-shadow sigue el rectángulo del elemento y es rápida de pintar. drop-shadow() sigue el canal alpha de a lo que se aplica (perfecta para SVG y PNG con transparencia) pero cuesta más renderizar. Usa box-shadow para tarjetas y botones; drop-shadow() para formas irregulares.
¿Por qué mi sombra se ve pixelada?
O el blur es muy bajo (un blur 0 es una sombra dura a propósito) o el elemento está escalado. Sube el blur o revisa si hay un transform: scale() en algún ancestro.
¿box-shadow afecta al layout?
No. Las sombras se pintan fuera de la caja del elemento pero no empujan al contenido vecino. Si el padre necesita dejar hueco para la sombra, dale padding o overflow: visible.

Más información

Otras herramientas para desarrolladores

Coddy programming languages illustration

Aprende a programar con Coddy

COMENZAR