Fundamentos y buenas prácticas de los fondos (background) en CSS
1. Introducción
El background es una de las propiedades más versátiles de CSS. Permite definir colores, imágenes, gradientes, patrones y hasta videos como fondo de cualquier elemento HTML. Un buen manejo de los fondos mejora la estética, la usabilidad y el rendimiento de una web.
2. Propiedades esenciales
background-color: color sólido.background-image: una o más imágenes o gradientes.background-size: controla el escalado (cover,containo valores específicos).background-position: ubicación del fondo.background-repeat: repetición (repeat-x,repeat-y,no-repeat).background-attachment:scrollofixed(parallax).background-blend-mode: mezcla de capas.
3. Tipos de fondos y ejemplos
3.1. Color sólido
.bg-color {
background-color: #2c3e50; /* azul oscuro */
}
Ideal para áreas de encabezado o tarjetas donde no se necesita textura.
3.2. Imagen de fondo
.bg-image {
background-image: url('https://example.com/hero.jpg');
background-size: cover; /* ocupa todo el contenedor */
background-position: center; /* centra la imagen */
background-repeat: no-repeat;
}
Uso de cover evita el desplazamiento de la imagen en dispositivos móviles.
3.3. Gradiente lineal
.bg-gradient {
background: linear-gradient(135deg, #ff7e5f, #feb47b);
}
Los gradientes reducen peticiones HTTP y son escalables.
3.4. Gradiente radial
.bg-radial {
background: radial-gradient(circle at 30% 30%, #4facfe, #00f2fe);
}
Útil para efectos de foco o resaltado de contenido.
3.5. Fondos múltiples
.bg-multiple {
background-image:
url('https://example.com/pattern.png'),
linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%);
background-size: 100px 100px, cover;
background-repeat: repeat, no-repeat;
background-position: left top, center;
}
Combina patrones con colores o gradientes sin necesidad de imágenes extra.
3.6. Video como fondo
<div class="bg-video">
<video autoplay muted loop playsinline>
<source src="/assets/video.mp4" type="video/mp4">
Tu navegador no soporta video.
</video>
</div>
<style>
.bg-video {
position: relative; overflow: hidden; height: 400px;
}
.bg-video video {
position: absolute; top: 50%; left: 50%;
min-width: 100%; min-height: 100%;
transform: translate(-50%, -50%);
object-fit: cover;
}
</style>
Recomendado solo para hero sections; usar poster y prefers-reduced-motion para accesibilidad.
4. Comparativa rápida de tipos de fondos
| Característica | Color | Imagen | Gradiente |
|---|---|---|---|
| Petición HTTP | No | Sí (1+) | No |
| Escalabilidad | Alta | Depende de resolución | Alta |
| Control de posición | No | Sí | Sí |
| Compatibilidad | IE6+ | IE9+ | IE10+ |
| Característica | Fondos múltiples | Video |
|---|---|---|
| Petición HTTP | Sí (imágenes + CSS) | Sí (video) |
| Rendimiento | Moderado | Alto consumo de ancho de banda |
| Accesibilidad | Alta | Requiere prefers-reduced-motion |
| Uso recomendado | Patrones, overlays | Hero sections, banners |
5. Buenas prácticas y optimización
- Minimiza peticiones: usa gradientes o sprites cuando sea posible.
- Compresión de imágenes: WebP o AVIF para reducir peso sin perder calidad.
- Responsive: combina
background-size: coverymedia queriespara servir versiones adaptadas. - Accesibilidad: siempre provee un
background-colorde respaldo y respetaprefers-reduced-motionpara videos. - Seguridad: evita URLs externas sin HTTPS; usa CSP
img-srcymedia-srcpara prevenir inyección. - Variables CSS: centraliza colores y rutas de imágenes para facilitar mantenimiento.
:root { --primary-bg: #2c3e50; --hero-img: url('/imgs/hero.jpg'); } .hero { background: var(--primary-bg) var(--hero-img) center/cover no-repeat; }
6. Depuración (troubleshooting)
Si el fondo no se muestra:
- Verifica la ruta y que la imagen sea accesible (status 200).
- Comprueba que no haya
background: nonesobrescribiendo la regla. - Revisa la cascada y la especificidad; usa el inspector del navegador.
- Para gradientes, asegúrate de que el prefijo
-webkit-es necesario solo en navegadores muy antiguos.
7. Compatibilidad y soporte
Los navegadores modernos (Chrome, Edge, Firefox, Safari) soportan todas las propiedades descritas. Para background-blend-mode y radial-gradient, se requiere al menos IE10+. Consulte caniuse.com para detalles actualizados.
Guía completa de fondos (background) en CSS: conceptos, tipos y ejemplos prácticos