Fondos de la caja
El fondo de un elemento CSS cubre el área de content + padding — todo lo que está dentro del borde. Con unas pocas propiedades podés pasar de un fondo blanco por defecto a degradados, colores sólidos y combinaciones elaboradas.
background-color — color sólido de fondo
La propiedad más directa. Acepta cualquier valor de color:
.card { background-color: #f1f5f9; } /* gris muy claro */
.hero { background-color: hsl(210, 70%, 15%); } /* azul oscuro */
.badge { background-color: rgb(37, 99, 235); } /* azul */
.alerta { background-color: rgba(220, 38, 38, 0.1); } /* rojo tenue */
El valor inicial es transparent — cada elemento comienza sin fondo propio y “deja ver” el fondo del ancestro. Un <div> sin estilos no tiene fondo blanco; el blanco que ves es el del <body>.
background-image — imagen o gradiente de fondo
background-image puede recibir una URL o una función de gradiente.
url() — imagen desde una ruta:
/* En producción real, esto carga la imagen del servidor */
.hero { background-image: url('foto-escritorio.jpg'); }
Nota sobre el sandbox: el sandbox de este playground es un
<iframe>aislado que no puede cargar recursos externos.url('https://...')no mostrará nada. Para practicar usamos gradientes — son generados completamente por CSS y no dependen de archivos externos.
linear-gradient() — degradado lineal:
/* dirección + color inicial + color final */
.hero { background-image: linear-gradient(to right, #1e3a5f, #3a7bd5); }
.panel { background-image: linear-gradient(180deg, #667eea, #764ba2); }
La dirección puede ser una keyword (to right, to bottom) o un ángulo en grados (45deg, 180deg). Sin dirección explícita el default es to bottom (equivalente a 180deg).
/* Con paradas de color posicionadas */
.card {
background-image: linear-gradient(
to right,
#1e3a5f 0%,
#3a7bd5 50%,
#7ec8e3 100%
);
}
radial-gradient() — degradado radial:
Se expande desde un punto central hacia afuera:
.avatar { background-image: radial-gradient(circle, #667eea, #764ba2); }
.panel { background-image: radial-gradient(circle at top left, #f9a8d4, transparent); }
background-repeat, background-size y background-position
Estas tres propiedades controlan cómo se comporta la imagen de fondo dentro del elemento.
background-repeat
Por defecto la imagen de fondo se repite en mosaico. no-repeat evita que eso ocurra:
.hero { background-repeat: no-repeat; } /* sin mosaico */
/* otros valores: repeat (default), repeat-x, repeat-y */
background-size
Controla el tamaño de la imagen de fondo:
.hero { background-size: cover; } /* cubre TODO el elemento, recortando si hace falta */
.card { background-size: contain; } /* imagen completa visible, pueden aparecer bandas */
.panel { background-size: 100% 100%; }
cover vs contain — la distinción central:
cover | contain | |
|---|---|---|
| Garantía | El elemento siempre está cubierto | La imagen siempre es visible completa |
| Riesgo | Partes de la imagen pueden recortarse | Pueden aparecer “bandas” de background-color |
| Caso de uso | Hero, banners, fondos de página | Logos, íconos — ver la imagen completa |
Regla nemotécnica: cover = CUBRE todo; contain = la imagen ENTRA completa.
background-position
Define dónde se ubica la imagen dentro del elemento:
.hero { background-position: center; } /* centrada — equivale a 50% 50% */
.card { background-position: top right; } /* esquina superior derecha */
.panel { background-position: 20% 80%; } /* coordenadas exactas */
Keywords disponibles: top, bottom, left, right, center. Se combinan: top center, bottom left.
background shorthand — todo en una línea
El shorthand permite escribir en una sola declaración lo que normalmente ocuparía 5 líneas:
/* color imagen repetición posición/tamaño */
.hero {
background: #1e3a5f linear-gradient(to right, #1e3a5f, #3a7bd5) no-repeat center / cover;
}
La barra / separa posición y tamaño: center / cover = posición center, tamaño cover.
Advertencia: el shorthand resetea todas las sub-propiedades no mencionadas a sus valores iniciales. Si después escribís background: red, background-size vuelve a auto aunque antes lo hubieras definido.
Límite del motor: el validador no puede leer el shorthand
backgroundpor computed — siempre comprueba las sub-propiedades individuales (background-color,background-size, etc.). Podés escribir el shorthand o las propiedades sueltas: el efecto computado es idéntico.
Tu turno: en el sandbox aplicá los fondos a .hero, .card y .badge siguiendo las instrucciones. Usá 180deg para el gradiente del hero — el validador compara la dirección tal como la escribís.
Fondos del hero y la tarjeta de Nómade Studio
Nómade Studio necesita estilizar la sección principal y una tarjeta de servicio: **1.** `.hero`: fondo con gradiente lineal — `background-image: linear-gradient(180deg, #1e3a5f, #3a7bd5)`. Para que cubra todo el elemento sin repetirse: `background-repeat: no-repeat` y `background-size: cover`. **2.** `.card`: fondo sólido gris claro — `background-color: #f1f5f9`. Centrar el fondo: `background-position: center`. **3.** `.badge`: `background-color: rgb(37, 99, 235)` — azul para la etiqueta de categoría. El validador comprueba las sub-propiedades individuales. Podés usar el shorthand `background` o las propiedades sueltas — el resultado computado es el mismo.
Preview
En la referencia
En esta página