Generador de Gradientes Mesh CSS & SVG

Generador de Gradientes Mesh CSS & SVG

Genera gradientes mesh CSS multipunto, fondos animados y mallas de color SVG. Personaliza puntos de control, textura de grano y exporta código CSS o Tailwind optimizado.

Cargar plantilla
Lienzo interactivo de malla
1
2
3
4
Arrastra los manejadores en el lienzo para reposicionarlos en tiempo real4 / 12 Puntos de control
Punto de control activo #1
Coordenada X15%
Coordenada Y20%
Radio de dispersión75%
Opacidad del punto90%
Color del punto:
Color base del lienzo:
Topología de malla
Grano de película analógica y ruido
18%
Objetivo de accesibilidadTexto blanco (#FFFFFF)
Encuadre de visualización
/* Modern CSS Mesh Gradient (SRGB) */
:root {
  --mesh-base: #0d0b1a;
  --mesh-point-1: rgba(99, 102, 241, 0.90);
  --mesh-point-2: rgba(6, 182, 212, 0.85);
  --mesh-point-3: rgba(236, 72, 153, 0.80);
  --mesh-point-4: rgba(139, 92, 246, 0.90);
}

.mesh-container {
  background-color: var(--mesh-base);
  background-image:
    radial-gradient(at 15% 20%, rgba(99, 102, 241, 0.90) 0px, transparent 75%),
    radial-gradient(at 80% 15%, rgba(6, 182, 212, 0.85) 0px, transparent 85%),
    radial-gradient(at 30% 85%, rgba(236, 72, 153, 0.80) 0px, transparent 90%),
    radial-gradient(at 85% 80%, rgba(139, 92, 246, 0.90) 0px, transparent 70%);
}
60 FPS sincronizados por GPUDeriva ambiental activa
Puntos de control4 Capas radiales apiladas
Calificación WCAG 2.1Auditoría de contraste activa
Tamaño del código CSS644 bytes
Gama cromáticaSRGB
Modo de comparaciónScenario A
Referencia técnica y guía de arquitectura

Generador de Mesh Gradient CSS & SVG — Guía de referencia

Genera gradientes mesh CSS multipunto, fondos animados y mallas de color SVG. Personaliza puntos de control y textura de grano, y copia código CSS puro o Tailwind al instante.

Generador de Mesh Gradient CSS & SVG — Guía de referencia — Arquitectura en memoria del lado del cliente y flujo de datos
Generador de Mesh Gradient CSS & SVG — Guía de referencia — Arquitectura en memoria del lado del cliente y flujo de datos

Parámetros clave y controles

Coordenadas del punto (x, y)porcentaje (0% a 100%)

Define el centro focal bidimensional (2D) de cada fuente de luz cromática en el lienzo. En radial-gradient de CSS, se mapea directamente a la sintaxis de posicionamiento 'at x% y%', determinando el punto de anclaje de la máxima intensidad del color.

Por defecto: 50%, 50%
Radio del punto / dispersión (spread)porcentaje o radio en píxeles (10% a 150%)

Controla la distancia de difusión radial desde el 100% de saturación del color hasta la transparencia absoluta (opacidad cero). Un porcentaje de dispersión mayor genera mezclas bicúbicas suaves y continuas, mientras que radios reducidos producen efectos de foco localizado u orbes de neón bien definidos.

Por defecto: 80%
Color base de la malla (mesh_base_color)cadena de color HEX o RGB

El color de fondo (background-color) fundamental subyacente en el lienzo. Todas las capas de radial-gradient transicionan hacia 'transparent', combinándose de forma aditiva y multiplicativa sobre este tono base, que actúa asimismo como respaldo (fallback) en navegadores antiguos.

Por defecto: #131116
Intensidad del grano y opacidadmultiplicador flotante (0.0 a 1.0)

Controla la opacidad y frecuencia del filtro procedural de ruido SVG feTurbulence superpuesto. El grano mitiga el bandeado de color (líneas de contorno o color banding) típico de monitores de 8 bits y aporta una textura táctil con estética analógica de papel o película fotográfica.

Por defecto: 0.15
Duración de animación y desplazamiento (drift)segundos (4s a 30s) y desplazamiento en px

Especifica el tiempo de ciclo del bucle y los límites de desplazamiento del movimiento flotante ambiental mediante @keyframes de CSS. Los puntos oscilan de manera fluida a lo largo de trayectorias sinusoidales para crear un fondo dinámico y orgánico sin generar cuellos de botella en la CPU.

Por defecto: 12s
Relación de contraste WCAGrelación (1:1 a 21:1)

Contraste de luminancia perceptiva calculado entre la tipografía del texto y la superficie del gradiente en 9 cuadrantes independientes, evaluado según los estándares AA (4.5:1) y AAA (7:1) de las Pautas de Accesibilidad para el Contenido Web (WCAG 2.1).

Por defecto: 4.5:1

Consejos profesionales y mejores prácticas

Evitar el bandeado de color en 8 bits mediante tramado y ruido SVG

Los monitores RGB estándar procesan colores con una profundidad de 8 bits por canal (256 niveles), lo que suele producir bandas escalonadas visibles (color banding) cuando degradados suaves abarcan grandes superficies. Incorporar una sutil capa de grano con SVG feTurbulence al 3% o 5% de opacidad funciona como tramado (dithering) de alta frecuencia, dispersando los valores de los píxeles y suprimiendo por completo los artefactos de bandeado visual.

Lograr animaciones fluidas a 60 FPS usando capas transform aceleradas por GPU

Animar background-position o las coordenadas de radial-gradient directamente en CSS desencadena continuos cálculos de reflujo (layout) y ciclos de repintado en el navegador, reduciendo drásticamente los fotogramas por segundo en dispositivos móviles. Para obtener animaciones perfectamente fluidas a 60 FPS, ubica los nodos de gradiente dentro de pseudoelementos (::before / ::after) o contenedores div independientes y anímalos con transform: translate3d(x, y, 0) y will-change: transform, aprovechando la composición acelerada por hardware de la GPU.

Garantizar la legibilidad del texto en cuadrantes de alto contraste

Los gradientes de malla suelen combinar puntos muy oscuros y brillantes, haciendo que un único color de texto resulte ilegible en ciertas esquinas. Comprueba siempre el inspector de contraste WCAG en 9 cuadrantes: si la relación fluctúa drásticamente entre áreas, añade una capa sutil de oscurecimiento lineal (ej. linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.6))) o una tarjeta contenedora de estilo glassmorphism con backdrop-filter tras los elementos de texto.

Optimizar gradientes CSS mesh para proyectos en Tailwind CSS

En lugar de sobrecargar el marcado HTML con extensas cadenas radial-gradient en línea, extrae los tokens generados de la malla al objeto theme.extend.backgroundImage de tu tailwind.config.js (por ejemplo, 'mesh-hero': 'radial-gradient(...)'). Esto te permite emplear clases de utilidad limpias como bg-mesh-hero, conservando la purga automática de estilos y la optimización en tiempo de compilación de Tailwind.

Problemas comunes y soluciones

⚠️Aparición de bandas de color visibles y anillos de contorno pixelados en las transiciones del gradiente

El bandeado de color (banding) ocurre cuando dos tonos contiguos presentan valores de luminancia muy próximos en pantallas estándar de 8 bits. Activa la superposición de Grano / Ruido con un 10% a 15% de opacidad para aplicar tramado en los límites de transición, o aumenta el porcentaje de dispersión radial (>80%) para ampliar el intervalo de interpolación.

⚠️Uso elevado de CPU o tirones visuales (stuttering) en móviles al reproducir mallas animadas

Evita animar los porcentajes de radial-gradient de forma directa en los @keyframes de CSS. En su lugar, exporta el código de fotogramas clave generado por esta herramienta, que aísla los nodos en capas promovidas a la GPU mediante will-change: transform y vectores de traslación tridimensional (translate3d), reduciendo las operaciones de repintado en la CPU a cero.

⚠️El filtro del gradiente SVG genera pantallas negras o recortes en Safari para iOS

El motor WebKit de Safari recorta los filtros SVG si el atributo filterUnits o las dimensiones de la caja delimitadora (bounding box) no están declarados explícitamente. Al incrustar código vectorial SVG en bruto, verifica que la etiqueta <filter> contenga x='-20%' y='-20%' width='140%' height='140%' filterUnits='userSpaceOnUse' para evitar que se trunquen los límites del filtro.

⚠️El compilador de Tailwind CSS arroja un error de sintaxis con valores arbitrarios de radial-gradient

Los valores arbitrarios de Tailwind (bg-[...]) no admiten espacios en blanco sin escapar. Sustituye los espacios dentro de la sintaxis del gradiente por guiones bajos (por ejemplo, radial-gradient(at_20%_30%,_#6366f1_0px,_transparent_70%)) o traslada la configuración generada directamente a tailwind.config.js bajo theme.extend.backgroundImage.

Preguntas frecuentes (FAQ)

¿Cómo crear un gradiente de malla en CSS puro sin imágenes externas ni SVG?▼

Puedes crear un gradiente mesh en CSS puro superponiendo múltiples capas de radial-gradient sobre una única propiedad background-color. Cada radial-gradient define un punto focal específico (por ejemplo, 'radial-gradient(at 20% 30%, #6366f1 0px, transparent 70%)') que se difumina hacia la transparencia, permitiendo que múltiples fuentes de luz cromática se crucen y fusionen armoniosamente sin peticiones HTTP adicionales.

¿Cómo animar un gradiente CSS mesh para fondos hero en sitios web?▼

Para animar un gradiente mesh con fluidez a 60 FPS sin ralentizaciones, asigna cada nodo cromático a un contenedor con posicionamiento absoluto o a un pseudoelemento con un desenfoque CSS pronunciado (ej. filter: blur(60px)). A continuación, aplica @keyframes de CSS con animaciones de transform: translate3d(dx, dy, 0) y scale(), aprovechando el compositor de la GPU del navegador en lugar de forzar costosos repintados de diseño en la CPU.

¿Cuál es la diferencia entre una malla con radial-gradient de CSS y un gradiente mesh en SVG?▼

Una malla creada con radial-gradient en CSS utiliza la superposición nativa de background-image, lo que no requiere peticiones HTTP externas, tiene un peso de archivo prácticamente nulo y se procesa instantáneamente en cualquier navegador moderno. En cambio, un gradiente mesh en SVG emplea marcado vectorial (<radialGradient> o parches de Bézier bicúbicos), ofreciendo escalado independiente de la resolución y compatibilidad con filtros avanzados (como grano feTurbulence), a costa de una estructura en el DOM ligeramente más compleja.

¿Cómo añadir textura de grano cinematográfico o ruido a un gradiente CSS mesh?▼

Para incorporar una textura de grano analógico, superpone un filtro de ruido SVG mediante un Data URI o SVG inline. El filtro utiliza <feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/> combinado sobre el gradiente CSS mediante mix-blend-mode: overlay y una opacidad de entre 0.10 y 0.20, eliminando eficazmente el bandeado de color en 8 bits a la vez que confiere al fondo un acabado táctil y premium.

¿Un gradiente CSS mesh complejo perjudica el rendimiento web o el puntaje de Lighthouse?▼

Los gradientes mesh estáticos en CSS puro tienen un impacto prácticamente nulo en las métricas de rendimiento de Google Lighthouse, ya que no demandan carga de red ni descodificación de imágenes y se rasterizan directamente en la GPU. No obstante, animar de forma excesiva filtros backdrop-filter de gran radio (blur > 100px) en dispositivos móviles puede generar estrangulamiento térmico (thermal throttling); utilizar nuestros fotogramas clave preoptimizados con translate3d garantiza 60 FPS estables sin drenar la batería.

¿Cómo garantizar la legibilidad del texto y el contraste WCAG sobre gradientes mesh dinámicos?▼

Dado que los gradientes de malla presentan luminancias variables según la zona, utiliza nuestro analizador de contraste WCAG en 9 cuadrantes integrado para verificar las proporciones. Asegúrate de que todos los sectores sobre los que se sitúe texto conserven al menos un ratio de 4.5:1 para texto estándar (WCAG AA) o 3:1 para encabezados grandes. Si algún cuadrante no alcanza el umbral, añade una sutil capa semitransparente oscura o clara detrás del bloque tipográfico.

Herramientas y utilidades relacionadas

Todas las herramientas →