Skip to main content
Validación HTML

CSS: “background-image”: Error de análisis.

Acerca de este problema HTML

Cuando el analizador CSS encuentra un valor de background-image que no puede entender, marca un error de análisis. Esto no necesariamente significa que el navegador no renderizará tus estilos — los navegadores suelen ser más permisivos que los validadores — pero sí indica que tu CSS no se ajusta a la especificación. CSS inválido puede llevar a renderizado impredecible en diferentes navegadores, hace tu código más difícil de mantener, y puede causar que los estilos fallen silenciosamente en ciertos entornos.

Las causas comunes de este error incluyen:

  • Falta la función url() alrededor de rutas de imágenes.
  • URLs sin comillas o con comillas incorrectas que contienen caracteres especiales como espacios o paréntesis.
  • Errores tipográficos en nombres de funciones CSS (ej., lnear-gradient en lugar de linear-gradient).
  • Usar valores con prefijos de proveedor (ej., -webkit-linear-gradient) en contextos donde el validador espera CSS estándar.
  • Sintaxis de gradiente inválida, como paradas de color faltantes, unidades de ángulo incorrectas, o argumentos de función mal formados.
  • Usar propiedades personalizadas CSS (variables) o sintaxis más nueva en un atributo style, que el analizador CSS del validador puede no soportar completamente.

Para corregir esto, revisa la declaración exacta de background-image a la que el validador está apuntando. Asegúrate de que todas las URLs estén envueltas en url(), todos los gradientes usen nombres de función correctos y argumentos válidos, y todas las cadenas estén correctamente entrecomilladas y cerradas.

Ejemplos

Función url() faltante

Una ruta de archivo sin el envoltorio url() es inválida:

<!-- ❌ Error de análisis: falta url() -->

<div style="background-image: /images/hero.jpg;"></div>

Envuelve la ruta en url():

<!-- ✅ Correcto -->

<div style="background-image: url('/images/hero.jpg');"></div>

Error tipográfico en nombre de función de gradiente

<!-- ❌ Error de análisis: función mal escrita -->

<div style="background-image: lnear-gradient(to right, red, blue);"></div>
<!-- ✅ Correcto -->

<div style="background-image: linear-gradient(to right, red, blue);"></div>

Sintaxis de gradiente inválida

Paradas de color faltantes o usar notación de ángulo incorrecta causa errores de análisis:

<!-- ❌ Error de análisis: unidad de ángulo inválida y falta segunda parada de color -->

<div style="background-image: linear-gradient(45, red);"></div>

Los ángulos necesitan una unidad (como deg), y los gradientes necesitan al menos dos paradas de color:

<!-- ✅ Correcto -->

<div style="background-image: linear-gradient(45deg, red, blue);"></div>

Caracteres especiales sin escapar en URL

Rutas de archivos con espacios o paréntesis necesitan estar entrecomilladas:

<!-- ❌ Error de análisis: URL sin comillas con espacios -->

<div style="background-image: url(/images/my hero image.jpg);"></div>
<!-- ✅ Correcto: URL entrecomillada -->

<div style="background-image: url('/images/my hero image.jpg');"></div>

Valores con prefijos de proveedor

Usar sintaxis con prefijos no estándar puede disparar un error de análisis en el validador:

<!-- ❌ Error de análisis: prefijo de proveedor no reconocido por el validador -->

<div style="background-image: -webkit-linear-gradient(left, red, blue);"></div>

Usa la sintaxis estándar sin prefijos en su lugar. Los navegadores modernos ya no necesitan el prefijo para gradientes:

<!-- ✅ Correcto: sintaxis estándar -->

<div style="background-image: linear-gradient(to right, red, blue);"></div>

Múltiples fondos con separador incorrecto

Múltiples imágenes de fondo deben estar separadas por comas, no por puntos y comas o espacios:

<!-- ❌ Error de análisis: separador incorrecto -->

<div style="background-image: url('a.png') url('b.png');"></div>
<!-- ✅ Correcto: separado por comas -->

<div style="background-image: url('a.png'), url('b.png');"></div>

Mover estilos a una hoja de estilos externa

Si el validador tiene problemas con valores complejos de background-image en atributos style en línea, considera mover el CSS a un bloque <style> o hoja de estilos externa, donde el analizador CSS del validador los maneja de forma más confiable:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Background Image Example</title>
  <style>
    .hero {
      background-image: url('hero.jpg');
      background-size: cover;
    }
  </style>
</head>
<body>
  <div class="hero"></div>
</body>
</html>

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.