Back

Cómo Crear Efectos de UI Glassmorphic con CSS Puro

Cómo Crear Efectos de UI Glassmorphic con CSS Puro

Las tendencias de diseño recientes de Apple han reavivado el interés en el glassmorphism, pero las propiedades CSS detrás de este efecto impresionante son atemporales. Ya sea que estés construyendo un dashboard moderno o actualizando tu portafolio, dominar las técnicas de glassmorphism CSS añadirá ese toque pulido y profesional que los usuarios esperan.

Esta guía te llevará paso a paso por la creación de efectos de glassmorphism CSS puro desde cero—sin frameworks, sin generadores, solo las propiedades esenciales que necesitas para implementar hermosos efectos de vidrio esmerilado en tus proyectos.

Puntos Clave

  • Domina las cuatro propiedades CSS fundamentales para glassmorphism: backdrop-filter, fondos semi-transparentes, bordes y sombras
  • Aprende a equilibrar la transparencia con la accesibilidad y legibilidad
  • Implementa degradaciones elegantes para navegadores más antiguos
  • Optimiza el rendimiento para experiencias móviles y de escritorio

Las Propiedades CSS Esenciales para Glassmorphism

backdrop-filter: La Base

La propiedad backdrop-filter es la piedra angular de cualquier diseño glassmórfico. Al aplicar blur() al contenido detrás de un elemento, creas esa apariencia esmerilada característica:

backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); /* Soporte para Safari */

El valor de desenfoque típicamente varía entre 8px y 15px. Los valores más bajos crean un esmerilado sutil, mientras que los valores más altos producen una difusión más intensa. La mayoría de los navegadores modernos soportan backdrop-filter, incluyendo Chrome 76+, Safari 9+ y Firefox 103+.

Fondos Semi-Transparentes

El glassmorphism requiere un equilibrio cuidadoso entre transparencia y visibilidad. Usa colores RGBA con valores alpha bajos:

background: rgba(255, 255, 255, 0.1); /* 10% blanco */

Para fondos claros, los valores alpha entre 0.1 y 0.25 funcionan mejor. Los temas oscuros pueden manejar valores ligeramente más altos (0.15-0.3) sin perder el efecto de vidrio.

Bordes y Sombras para Profundidad

Los bordes sutiles definen los bordes del vidrio:

border: 1px solid rgba(255, 255, 255, 0.2);

Combina con sombras suaves para crear elementos flotantes:

box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);

Construyendo una Tarjeta Glassmórfica Paso a Paso

Estructura HTML Básica

Comienza con un contenedor simple y un fondo:

<div class="background">
  <div class="glass-card">
    <h2>Tarjeta de Vidrio</h2>
    <p>Tu contenido aquí</p>
  </div>
</div>

Implementación CSS Principal

Aquí está el glassmorphism CSS completo para una tarjeta pulida:

.glass-card {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  padding: 2rem;
}

Ajuste Fino del Efecto

Ajusta estos valores según tu fondo:

  • Gradientes coloridos: Usa menor opacidad (0.1-0.15)
  • Fondos de imagen: Aumenta el desenfoque a 12-15px
  • Colores sólidos: Reduce el desenfoque a 6-8px para sutileza

Soporte de Navegadores y Fallbacks

Compatibilidad Actual de Navegadores

NavegadorSoporteVersión
Chrome76+
Safari9+
Firefox103+
Edge79+

Degradación Elegante

Siempre proporciona fallbacks usando @supports:

.glass-card {
  /* Fallback */
  background: rgba(255, 255, 255, 0.9);
}

@supports (backdrop-filter: blur(10px)) {
  .glass-card {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

Accesibilidad y Rendimiento

Asegurando Contenido Legible

El glassmorphism CSS puro puede comprometer la legibilidad del texto. Mantén el cumplimiento WCAG con estas técnicas:

  1. Añade sombras de texto para contraste:

    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  2. Aumenta la opacidad del fondo para áreas de texto críticas

  3. Prueba las proporciones de contraste usando herramientas como el Contrast Checker de WebAIM

Optimización del Rendimiento

La propiedad backdrop-filter es computacionalmente costosa. Optimiza mediante:

  • Limitar elementos de vidrio a 2-3 por viewport
  • Evitar animaciones en elementos desenfocados
  • Usar will-change: backdrop-filter con moderación
  • Probar en dispositivos de gama media

Para móviles, considera reducir la intensidad del desenfoque o proporcionar estilos alternativos.

Directrices de Aplicación Práctica

Los efectos de vidrio esmerilado funcionan mejor para:

  • Barras de navegación y encabezados
  • Overlays modales
  • Componentes de tarjetas
  • Paneles laterales

Evita el glassmorphism para:

  • Contenedores de texto del cuerpo
  • Inputs de formularios (a menos que se prueben cuidadosamente)
  • Áreas de alta densidad de información

Recuerda: la sutileza es clave. Un elemento de vidrio bien ubicado crea más impacto que una interfaz completa de transparencia.

Conclusión

Crear efectos glassmorphism CSS profesionales requiere solo cuatro propiedades principales: backdrop-filter, fondos semi-transparentes, bordes sutiles y sombras suaves. Siguiendo estas directrices y respetando las necesidades de accesibilidad, implementarás efectos de vidrio modernos que funcionan en todos los navegadores mientras mantienes el rendimiento.

Comienza con un solo componente, prueba en diferentes navegadores y siempre prioriza la legibilidad. ¿El resultado? Interfaces que se sienten pulidas y modernas, construidas con nada más que CSS puro.

Preguntas Frecuentes

Firefox requiere la versión 103 o superior para el soporte de backdrop-filter. Para versiones anteriores, usa la consulta @supports para proporcionar un fallback de fondo sólido que mantenga la legibilidad sin el efecto de desenfoque.

Limita los elementos glassmórficos a 2-3 por viewport, reduce los valores de desenfoque a 6-8px en móviles, y evita animar elementos con backdrop-filter. Considera usar media queries para servir estilos más simples a dispositivos de menor potencia.

Apunta a una proporción de contraste mínima de 4.5:1 para texto normal y 3:1 para texto grande. Aumenta la opacidad del fondo a 0.3-0.4 o añade sombras de texto sutiles para mejorar la legibilidad cuando el efecto de desenfoque reduce el contraste.

Truly understand users experience

See every user interaction, feel every frustration and track all hesitations with OpenReplay — the open-source digital experience platform. It can be self-hosted in minutes, giving you complete control over your customer data. . Check our GitHub repo and join the thousands of developers in our community..

OpenReplay