CSS3

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.

¿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 es 0, 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, como rgba, 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 (como rgba, 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.

Certifícate en CSS con CertiDevs PLUS

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.

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

CSS3

Introducción Y Entorno

Sintaxis

CSS3

Sintaxis De Selectores Y Propiedades

Selectores Básicos

CSS3

Sintaxis De Selectores Y Propiedades

Herencia Y Cascada

CSS3

Sintaxis De Selectores Y Propiedades

Pseudo-clases Y Pseudo-elementos

CSS3

Sintaxis De Selectores Y Propiedades

Estilos De Fuente

CSS3

Estilización De Texto Y Fondo

Propiedades De Texto

CSS3

Estilización De Texto Y Fondo

Sombras En Texto Y Cajas

CSS3

Estilización De Texto Y Fondo

Propiedades De Fondo

CSS3

Estilización De Texto Y Fondo

Modelo De Caja

CSS3

Modelo Caja Y Posicionamiento

Propiedades De Posicionamiento

CSS3

Modelo Caja Y Posicionamiento

Propiedad 'Display'

CSS3

Modelo Caja Y Posicionamiento

Elementos 'Float' Y 'Clear'

CSS3

Modelo Caja Y Posicionamiento

Flexbox Para Crear Layouts Y Estructuras

CSS3

Flexbox Y Grid

Css Grid Para Crear Layouts Y Estructuras

CSS3

Flexbox Y Grid

Animaciones Y Transiciones

CSS3

Técnicas Modernas Y Metodologías

Variables En Css

CSS3

Técnicas Modernas Y Metodologías

Diseño Responsive Con Media Queries

CSS3

Técnicas Modernas Y Metodologías

Metodologías De Escritura En Css

CSS3

Técnicas Modernas Y Metodologías

Introducción A Tailwind Css

Tailwind CSS

Introducción Y Entorno

Instalación De Tailwind Css

Tailwind CSS

Introducción Y Entorno

Fundamentos Del Sistema De Utility-first En Tailwind Css

Tailwind CSS

Fundamentos

Fundamentos Del Diseño Responsive En Tailwind Css

Tailwind CSS

Fundamentos

Tipografía Y Fuentes En Tailwind Css

Tailwind CSS

Clases De Utilidad

Clases De Tamaño De Tailwind Css

Tailwind CSS

Clases De Utilidad

Utilidades De Espaciado Y Alineación De Tailwind Css

Tailwind CSS

Clases De Utilidad

Clases De Colores Y Fondo De Tailwind Css

Tailwind CSS

Clases De Utilidad

Clases De Bordes De Tailwind Css

Tailwind CSS

Clases De Utilidad

Hover, Focus Y Estado De Tailwind Css

Tailwind CSS

Clases De Utilidad

Transiciones Y Animaciones De Tailwind Css

Tailwind CSS

Clases De Utilidad

Contenedores Y Columnas En Tailwind Css

Tailwind CSS

Layout

Flexbox En Tailwind Css

Tailwind CSS

Layout

Grid En Tailwind Css

Tailwind CSS

Layout

Conocimiento General De Tailwind Css - Evaluación Multirespuesta

Tailwind CSS

Evaluación

Conocimiento General De Tailwind Css - 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.