CSS
Tutorial CSS: Sombras en texto y cajas
CSS sombras: creación y uso. Domina la creación y uso de sombras en CSS con ejemplos prácticos y detallados.
Aprende CSS GRATIS y certifícate¿Qué son las sombras en CSS y por qué son importantes?
Las sombras en CSS son efectos visuales que aplican una difusión coloreada alrededor de los elementos. Estos efectos se utilizan para dar profundidad, realismo y mejor legibilidad a los componentes de una página web. En términos técnicos, las sombras ayudan a diferenciar los elementos del fondo y a crear una jerarquía visual que guía al usuario a través del contenido.
Las sombras en CSS se configuran principalmente a través de dos propiedades: text-shadow
para sombras en texto y box-shadow
para sombras en contenedores o cajas. Aunque estas propiedades comparten similitudes en cuanto a sintaxis y parámetros (como el desplazamiento horizontal y vertical, el difuminado y el color), su aplicación difiere dependiendo del tipo de elemento que se vaya a estilizar.
Las sombras son importantes en el diseño web moderno por varias razones:
Mejora de la legibilidad: Las sombras pueden mejorar significativamente la legibilidad del texto, especialmente sobre fondos complejos o imágenes. Al añadir una ligera sombra, el texto se destaca y se hace más visible.
Profundidad y dimensión: Aplicar sombras alrededor de los elementos le da a la interfaz una apariencia tridimensional. Esto es especialmente útil en diseños planos o minimalistas donde un toque de profundidad puede añadir interés visual sin sobrecargar la página.
Focalización del usuario: Las sombras pueden usarse para atraer la atención del usuario hacia elementos específicos, como botones de llamada a la acción, formularios o cualquier contenido esencial.
Consistencia y diseño: En consonancia con las tendencias actuales de diseño, como el Material Design de Google, las sombras ayudan a mantener una apariencia fluida y atractiva en el sitio web. Proporcionan un indicador visual que simula luces y sombras reales, haciéndolo más intuitivo.
Accesibilidad: Para usuarios con discapacidades visuales, las sombras pueden mejorar la percepción del contenido al darle un contraste adicional en comparación con el fondo.
Por ejemplo, una sombra de caja básica se puede definir en CSS así:
.box {
box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
}
En este caso, el box-shadow
aplica una sombra desplazada 10 píxeles hacia la derecha (10px
), 10 píxeles hacia abajo (10px
), con un difuminado de 20 píxeles (20px
) y un color negro semitransparente (rgba(0, 0, 0, 0.5)
).
Las sombras en CSS no solo añaden un toque estético, sino que también juegan un papel funcional clave en la interacción de usuario, haciendo que un buen uso de ellas es esencial para cualquier desarrollador interesado en el diseño front-end.
Sombra de texto (text-shadow)
La propiedad text-shadow
en CSS se utiliza para aplicar sombras a cualquier texto, mejorando su legibilidad y añadiendo una dimensión visual adicional. Esta propiedad acepta una lista de valores separados por comas, y cada conjunto de valores define una sombra específica. La sintaxis básica es la siguiente:
elemento {
text-shadow: desplazamiento-x desplazamiento-y desenfoque color;
}
desplazamiento-x
: Especifica el desplazamiento horizontal de la sombra. Un valor positivo desplaza la sombra a la derecha, mientras que un valor negativo lo hace a la izquierda.desplazamiento-y
: Define el desplazamiento vertical de la sombra. Un valor positivo desplaza la sombra hacia abajo, y un valor negativo hacia arriba.desenfoque
(opcional): Determina el radio de desenfoque de la sombra. Un valor mayor crea una sombra más difusa y suave. Si se omite, el valor por defecto es0
, lo que significa una sombra nítida y sin desenfoque.color
: Establece el color de la sombra. Puede representarse mediante cualquier valor de color válido en CSS, comorgba
,hex
,hsl
, etc.
Ejemplo básico de text-shadow
:
h1 {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
En este ejemplo, la sombra se desplaza 2 píxeles a la derecha, 2 píxeles hacia abajo, tiene un desenfoque de 4 píxeles y un color negro semitransparente.
La propiedad text-shadow
también permite crear efectos avanzados utilizando múltiples sombras. Esto se logra separando cada conjunto de valores con comas. Por ejemplo:
h2 {
text-shadow:
1px 1px 2px #000, /* Sombra principal negra */
-1px -1px 2px red; /* Sombra secundaria roja */
}
En este caso, se ha definido una sombra negra desplazada a la derecha y hacia abajo, y una sombra roja desplazada a la izquierda y hacia arriba.
Sombras de texto múltiples para efectos 3D
Otra aplicación avanzada es crear un efecto 3D usando múltiples sombras. Por ejemplo:
h3 {
text-shadow:
1px 1px 0 #ff0000,
2px 2px 0 #00ff00,
3px 3px 0 #0000ff;
}
Aquí se aplican tres sombras consecutivas, cada una con un desplazamiento incremental y diferentes colores, creando un efecto tridimensional.
Uso de text-shadow en combinación con otras propiedades
La propiedad text-shadow
puede combinarse con otras propiedades CSS para crear diseños más complejos. Por ejemplo, para añadir una sombra de texto a un botón con una animación de cambio de color:
button {
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
transition: color 0.3s ease-in-out;
}
button:hover {
color: #ff6347;
}
En este ejemplo, al pasar el cursor sobre el botón, el color del texto cambia suavemente, mientras que la sombra de texto permanece constante, proporcionando un efecto visual atractivo.
La propiedad text-shadow
es una herramienta eficaz en CSS que, cuando se usa adecuadamente, puede transformar la apariencia del texto en una página web, aportando legibilidad, profundidad y atractivo visual.
Sombra de caja (box-shadow)
box-shadow
es una propiedad en CSS que permite aplicar sombras a los elementos de caja, tales como divs, imágenes, botones, entre otros. A diferencia de las sombras de texto, box-shadow
se usa principalmente para definir sombras exteriores e interiores alrededor de los límites del contenedor.
La sintaxis básica de la propiedad es la siguiente:
elemento {
box-shadow: desplazamiento-x desplazamiento-y desenfoque propagación color;
}
desplazamiento-x
: Define el desplazamiento horizontal de la sombra. Valores positivos desplazan la sombra a la derecha y valores negativos a la izquierda.desplazamiento-y
: Define el desplazamiento vertical de la sombra. Valores positivos desplazan la sombra hacia abajo y valores negativos hacia arriba.desenfoque
(opcional): Especifica el radio de desenfoque de la sombra. Un valor más alto genera una sombra más difusa.propagación
(opcional): Define el tamaño de la sombra. Un valor positivo expande la sombra y un valor negativo la contrae.color
: Establece el color de la sombra, con cualquier valor de color CSS permitido (comorgba
,hex
,hsl
).
Ejemplo básico de box-shadow
:
.div-con-sombra {
box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
}
En este ejemplo, la sombra se desplaza 10 píxeles a la derecha y 10 píxeles hacia abajo, tiene un desenfoque de 20 píxeles y el color es negro semitransparente.
Sombra interior utilizando inset
Además de las sombras exteriores, box-shadow
también puede crear sombras interiores utilizando la palabra clave inset
. Esta sombra aparece dentro del borde del contenedor, proporcionando un efecto de profundidad hacia adentro.
Ejemplo de sombra interior:
.div-sombra-interior {
box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.5);
}
En este caso, la sombra se desplaza 5 píxeles a la derecha y 5 píxeles hacia abajo, con un desenfoque de 10 píxeles y un color negro semitransparente, pero dentro del contenedor.
Sombras múltiples para efectos avanzados
Al igual que con text-shadow
, se pueden aplicar múltiples sombras utilizando una lista de sombras separadas por comas. Esta técnica es útil para crear efectos más complejos como sombras dobles o resplandor.
Ejemplo de sombras múltiples:
.div-multiples-sombras {
box-shadow:
2px 2px 5px rgba(0, 0, 0, 0.3),
-2px -2px 5px rgba(255, 0, 0, 0.3);
}
En este ejemplo, se aplican dos sombras: una negra desplazada hacia abajo y a la derecha con un leve desenfoque, y una roja desplazada hacia arriba y a la izquierda.
Aplicación de efectos dinámicos
El box-shadow
también puede combinarse con transiciones y transformaciones para crear efectos dinámicos en las interacciones del usuario. Por ejemplo, cambios en la sombra al pasar el cursor sobre un elemento.
.boton {
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
transition: box-shadow 0.3s ease-in-out;
}
.boton:hover {
box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.4);
}
En este ejemplo, el botón incrementa el tamaño y la intensidad de su sombra cuando el usuario coloca el cursor sobre él, proporcionando una respuesta visual interactiva.
box-shadow
es una propiedad versátil en CSS que permite a los desarrolladores añadir profundidad, realismo y efectos visualmente atractivos a los elementos de la página web. Comprender y utilizar box-shadow
de manera efectiva puede mejorar significativamente la apariencia y usabilidad de un sitio web.
Ejercicios de esta lección Sombras en texto y cajas
Evalúa tus conocimientos de esta lección Sombras en texto y cajas con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Modelo de caja
Propiedad 'display'
Modelo de caja
Propiedades de posicionamiento
Sombras en texto y cajas
Variables en CSS
Grid en diseños de cuadrícula
Propiedades de texto
Animaciones y transiciones
Introducción a CSS
Selectores avanzados
Flexbox en diseños modernos
Sintaxis básica
Sintaxis
Estilos de fuente
Sintaxis avanzada
Herencia y cascada
Selectores básicos
Diseño responsive con media queries
Pseudo-clases y pseudo-elementos
Flexbox en diseños modernos
Elementos 'float' y 'clear'
Propiedades de texto
Propiedades de fondo
Metodologías BEM, SMACSS, OOCSS
Selectores básicos
Todas las lecciones de CSS
Accede a todas las lecciones de CSS y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Css
Introducción Y Entorno
Sintaxis
Sintaxis De Selectores Y Propiedades
Selectores Básicos
Sintaxis De Selectores Y Propiedades
Herencia Y Cascada
Sintaxis De Selectores Y Propiedades
Pseudo-clases Y Pseudo-elementos
Sintaxis De Selectores Y Propiedades
Estilos De Fuente
Estilización De Texto Y Fondo
Propiedades De Texto
Estilización De Texto Y Fondo
Sombras En Texto Y Cajas
Estilización De Texto Y Fondo
Propiedades De Fondo
Estilización De Texto Y Fondo
Modelo De Caja
Modelo Caja Y Posicionamiento
Propiedades De Posicionamiento
Modelo Caja Y Posicionamiento
Propiedad 'Display'
Modelo Caja Y Posicionamiento
Elementos 'Float' Y 'Clear'
Modelo Caja Y Posicionamiento
Flexbox Para Crear Layouts Y Estructuras
Flexbox Y Grid
Css Grid Para Crear Layouts Y Estructuras
Flexbox Y Grid
Animaciones Y Transiciones
Técnicas Modernas Y Metodologías
Variables En Css
Técnicas Modernas Y Metodologías
Diseño Responsive Con Media Queries
Técnicas Modernas Y Metodologías
Metodologías De Escritura En Css
Técnicas Modernas Y Metodologías
Introducción A Tailwind Css
Introducción Y Entorno
Instalación De Tailwind Css
Introducción Y Entorno
Fundamentos Del Sistema De Utility-first
Fundamentos
Fundamentos Del Diseño Responsive
Fundamentos
Tipografía Y Fuentes En Tailwind Css
Clases De Utilidad
Clases De Tamaño De Tailwind Css
Clases De Utilidad
Utilidades De Espaciado Y Alineación De Tailwind Css
Clases De Utilidad
Clases De Colores Y Fondo De Tailwind Css
Clases De Utilidad
Clases De Bordes De Tailwind Css
Clases De Utilidad
Hover, Focus Y Estado De Tailwind Css
Clases De Utilidad
Transiciones Y Animaciones De Tailwind Css
Clases De Utilidad
Contenedores Y Columnas En Tailwind Css
Layout
Flexbox En Tailwind Css
Layout
Grid En Tailwind Css
Layout
Evaluación Test Tailwind Css
Evaluación
Evaluación Código Tailwind Css
Evaluación
Certificados de superación de CSS
Supera todos los ejercicios de programación del curso de CSS y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender la importancia de las sombras en el diseño web.
- Aplicar sombras al texto utilizando
text-shadow
. - Utilizar
box-shadow
para agregar sombras a elementos de caja. - Crear sombras múltiples y efectos avanzados.
- Implementar sombras interiores con la palabra clave
inset
. - Combinar sombras con transiciones y transformaciones para efectos dinámicos.