Generador de Sombras CSS
Ajusta el desplazamiento, el desenfoque, la expansión, el color y la opacidad con deslizadores en vivo, previsualiza el resultado sobre una superficie clara u oscura y copia un box-shadow CSS limpio, todo en tu navegador.
Desplazamiento X
px
Desplazamiento Y
px
Desenfoque
px
Expansión
px
Color
#0a0a0a
Opacidad
%
box-shadow: 0px 10px 25px 0px rgba(10, 10, 10, 0.2);
Cómo usar Generador de Sombras CSS
- 1
Define el desplazamiento
Usa los deslizadores de desplazamiento X e Y para mover la sombra a la izquierda, la derecha, arriba o abajo. Un valor de Y positivo deja caer la sombra por debajo del elemento, y uno negativo la eleva por encima.
- 2
Da forma a la sombra
Aumenta el desenfoque para un borde suave y difuso, o mantenlo bajo para una sombra nítida. La expansión agranda o reduce la sombra antes de aplicar el desenfoque.
- 3
Elige un color y la opacidad
Haz clic en la muestra para escoger el color de la sombra y luego ajusta la opacidad. Las sombras oscuras, suaves y con poca opacidad son las que lucen más naturales sobre fondos claros.
- 4
Copia el CSS
Activa Interior (inset) si necesitas una sombra interna, previsualízala sobre una superficie clara u oscura y copia la línea box-shadow en tu hoja de estilos.
La guía completa de box-shadow en CSS
Anatomía de la propiedad box-shadow
Una box-shadow individual es una lista de valores en un orden fijo: desplazamiento horizontal, desplazamiento vertical, radio de desenfoque (blur), radio de expansión (spread) y color, con una palabra clave inset opcional. Solo los dos desplazamientos y el color son obligatorios; el blur y el spread tienen un valor por defecto de cero. Así, la forma abreviada que se lee como 0px 4px 12px rgba(0, 0, 0, 0.15) significa: sin movimiento horizontal, cuatro píxeles hacia abajo, doce píxeles de desenfoque, sin expansión y un negro al 15 por ciento. Los deslizadores de esta herramienta escriben exactamente esa cadena por ti, pero entender el orden hace que editar a mano sea indoloro.
Los desplazamientos colocan la sombra en relación con la caja. Un desplazamiento vertical positivo mueve la sombra hacia abajo, que es lo que quieres para la ilusión habitual de una fuente de luz situada encima del elemento; un valor negativo la eleva. El desplazamiento horizontal funciona igual de izquierda a derecha. Los desplazamientos son la mayor pista que usa tu cerebro para juzgar a qué altura flota un elemento, así que recurre a ellos antes que a cualquier otra cosa.
Blur y spread: los dos radios que la gente confunde
El radio de desenfoque (blur) controla lo suave que es el borde. En cero obtienes un duplicado de la caja con bordes nítidos; a medida que el blur crece, la sombra se desvanece a lo largo de una banda más ancha y se parece más a la luz difusa real. La mayoría de las sombras naturales usan un desenfoque que es aproximadamente entre dos y tres veces el desplazamiento vertical. Ten en cuenta que el blur no puede ser negativo.
El spread es el valor que casi nadie ajusta, y es potente. Un spread positivo infla la sombra hacia afuera en todas las direcciones antes de aplicar el desenfoque, haciéndola más grande que la caja; un spread negativo la encoge. Un spread negativo diminuto combinado con un desplazamiento hacia abajo y un desenfoque generoso es la receta clásica para una sombra que se ciñe bien por debajo de una tarjeta en lugar de escaparse por los lados. El spread es además la manera de dibujar un anillo sólido: desplazamiento cero, blur cero, unos pocos píxeles de spread positivo y un color plano.
Sombras inset para superficies presionadas y hundidas
Añadir la palabra clave inset dibuja la sombra dentro del elemento en lugar de detrás de él, de modo que la superficie parece tallada hacia adentro. Así es como haces que un campo de texto parezca un pozo, que un interruptor parezca presionado o que un panel parezca embutido en la página. Ahora los desplazamientos apuntan hacia el borde interior que recibe la sombra, así que un desplazamiento hacia abajo oscurece el borde interior superior, imitando la luz que cae desde arriba. Activa la opción Inset en esta herramienta para alternar entre una sombra exterior y una interior, y observa cómo los mismos números invierten su significado.
Superposición de varias sombras
La propiedad box-shadow acepta una lista separada por comas, y el navegador pinta cada sombra en orden, con la primera arriba. Este es el truco más útil para conseguir profundidad realista. Los objetos reales no proyectan una sola sombra; proyectan una sombra de contacto ceñida y más oscura justo bajo el borde, y una sombra ambiental más ancha y tenue más alejada. Apilar una sombra pequeña de bajo desenfoque sobre otra grande de alto desenfoque reproduce eso, y el resultado se percibe como mucho más creíble de lo que puede lograr cualquier sombra única.
La superposición es también la forma en que los sistemas de diseño construyen escalas de elevación: la elevación al estilo Material suele ser de dos o tres sombras apiladas afinadas en conjunto, y subir una tarjeta un nivel intercambia toda la pila en lugar de retocar un solo número. Incluso puedes mezclar una sombra inset con sombras hacia afuera en la misma declaración para obtener a la vez un borde iluminado y una sombra proyectada.
Ejemplo resuelto: una sombra suave de tarjeta
Aquí tienes una receta que queda bien en casi cualquier superficie clara. Empieza sin desplazamiento horizontal para que la sombra quede centrada, con un desplazamiento vertical de unos 8px, un desenfoque de aproximadamente 24px y un spread de alrededor de menos 6px para que se meta bajo la tarjeta. Usa un color casi negro pero baja la opacidad a un 12 por ciento, expresado como rgba(0, 0, 0, 0.12). El spread negativo evita que el borde suave se desborde más allá de las esquinas, la baja opacidad impide que parezca un manchón y el desplazamiento moderado sugiere una luz cenital suave. Para un resultado extranítido, superpón una segunda sombra con un desplazamiento de 1px, un desenfoque casi nulo y un negro de aproximadamente el 6 por ciento para fingir una línea de contacto marcada.
Errores comunes y cómo evitarlos
El error más frecuente es una sombra negra pura y totalmente opaca con mucho desenfoque, que se percibe turbia y artificial en lugar de como luz. Los fondos de color lo empeoran: una sombra negra sobre un azul saturado parece sucia, así que tinta la sombra hacia el tono del fondo en su lugar. Otro error es tratar el spread como un segundo control de desenfoque; no lo es, y dejarlo en cero mientras subes el blur es la razón por la que algunas sombras se sienten a la vez borrosas y demasiado pequeñas.
La gente también confunde box-shadow con el filtro drop-shadow. box-shadow siempre sigue la caja rectangular del elemento, incluido su border-radius, así que un PNG transparente dentro de la caja igualmente recibe una sombra rectangular. El filtro drop-shadow traza los píxeles realmente no transparentes, que es lo que quieres para formas irregulares e imágenes recortadas. Usa box-shadow para tarjetas, botones y paneles; recurre al filtro cuando la silueta no sea un rectángulo.
Rendimiento y la trampa del desenfoque grande
Las sombras las pinta el navegador, y los radios de desenfoque muy grandes son realmente costosos, sobre todo cuando se animan o aparecen en muchos elementos a la vez. Animar el blur o el spread de una sombra grande puede provocar repintados en cada fotograma y tirones en dispositivos de gama baja. Si necesitas que una sombra crezca al hacer hover, un enfoque más fluido es prerrenderizar la sombra más grande en un pseudoelemento y animar su opacidad en su lugar, ya que la opacidad es barata de componer. Mantén los valores de desenfoque razonables, evita cientos de nodos con sombra en pantalla a la vez y tus interfaces se mantendrán fluidas.
Neumorfismo y otros estilos de sombra
El estilo soft-UI o neumorfismo se construye casi por completo con box-shadow. Tomas un fondo que coincide con el elemento y luego apilas dos sombras del mismo desenfoque y desplazamiento pero de direcciones opuestas y luminosidad opuesta: una un poco más clara en la parte superior izquierda y otra un poco más oscura en la inferior derecha, de modo que el elemento parece sobresalir de la superficie o hundirse en ella. Resulta llamativo, pero su bajo contraste suele incumplir la accesibilidad para cualquier cosa que deba leerse o pulsarse, así que para la mayor parte del trabajo de producción una sola sombra de elevación sutil comunica la jerarquía con más claridad que una recargada y muy estilizada.
Preguntas frecuentes
¿Cómo creo una sombra box-shadow en CSS?
¿Qué significa cada valor de box-shadow?
¿Qué es una sombra inset?
¿Cómo consigo una sombra suave y natural?
¿Mis datos se suben a un servidor?
Herramientas relacionadas
Sigue trabajando con estas prácticas herramientas