Aplicar estilos de fondo en CSS

CSSCSSBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a aplicar estilos de fondo avanzados utilizando CSS, centrándose en mejorar el diseño de páginas web a través de la manipulación de colores e imágenes. El laboratorio cubre técnicas esenciales como la configuración de colores de fondo para elementos HTML, la adición y dimensionamiento de imágenes de fondo, el control de la posición y repetición de imágenes y la combinación de múltiples propiedades de fondo para crear diseños web visualmente atractivos.

A través de ejemplos prácticos y de manos a la obra, explorará diferentes métodos de especificación de colores de fondo utilizando colores nombrados, códigos hexadecimales y funciones RGB, así como aprenderá a incorporar imágenes de fondo con técnicas de dimensionamiento y posicionamiento precisos. Al final de este laboratorio, habrá adquirido habilidades prácticas en el uso de propiedades de fondo CSS para crear diseños de páginas web más dinámicos y atractivos.

Establecer el color de fondo para los elementos HTML

En este paso, aprenderá a establecer los colores de fondo para los elementos HTML utilizando CSS. Los colores de fondo son una forma fundamental de mejorar el diseño visual de las páginas web al agregar color a diferentes elementos.

Primero, creemos un archivo HTML para demostrar el estilo de color de fondo. Abra el WebIDE y cree un nuevo archivo llamado styles.html en el directorio ~/project.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Ejemplo de color de fondo</title>
    <style>
      /* Aquí agregaremos nuestro CSS */
    </style>
  </head>
  <body>
    <div class="box1">Primer cuadro</div>
    <div class="box2">Segundo cuadro</div>
    <p class="paragraph">Este es un párrafo con un color de fondo.</p>
  </body>
</html>

Ahora, agregemos un poco de CSS para establecer los colores de fondo para diferentes elementos. Actualice la sección <style> en el archivo HTML:

.box1 {
  background-color: blue;
  color: white;
  padding: 20px;
  margin: 10px;
}

.box2 {
  background-color: #ff5733;
  color: white;
  padding: 20px;
  margin: 10px;
}

.paragraph {
  background-color: rgb(200, 230, 255);
  padding: 15px;
}

En este ejemplo, hemos demostrado tres maneras de especificar los colores de fondo:

  1. Color nombrado (blue)
  2. Código de color hexadecimal (#FF5733)
  3. Función de color RGB (rgb(200, 230, 255))

Guarde el archivo y abrálo en un navegador web para ver los diferentes colores de fondo aplicados a los elementos.

Agregar una imagen de fondo con dimensionamiento

En este paso, aprenderá a agregar imágenes de fondo a los elementos HTML y a controlar su dimensionamiento utilizando CSS. Continuaremos construyendo sobre el ejemplo anterior modificando el archivo styles.html en el directorio ~/project.

Primero, necesitará descargar una imagen de muestra. Utilice el siguiente comando en la terminal:

wget https://labex.io/courses/images/background-sample.jpg -O ~/project/background-sample.jpg

Ahora, actualice el archivo styles.html con el siguiente contenido:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Dimensionamiento de imagen de fondo</title>
    <style>
      .image-container {
        width: 500px;
        height: 300px;
        border: 2px solid black;
        margin: 20px;
      }

      .cover-background {
        background-image: url("background-sample.jpg");
        background-size: cover;
      }

      .contain-background {
        background-image: url("background-sample.jpg");
        background-size: contain;
      }

      .custom-size-background {
        background-image: url("background-sample.jpg");
        background-size: 200px 150px;
      }
    </style>
  </head>
  <body>
    <div class="image-container cover-background">
      Cubrir: Llena todo el contenedor
    </div>
    <div class="image-container contain-background">
      Contener: Ajusta toda la imagen
    </div>
    <div class="image-container custom-size-background">
      Tamaño personalizado: 200x150 píxeles
    </div>
  </body>
</html>

Este ejemplo demuestra tres maneras diferentes de dimensionar imágenes de fondo:

  1. background-size: cover; - Escala la imagen para cubrir todo el contenedor
  2. background-size: contain; - Escala la imagen para que quepa por completo dentro del contenedor
  3. background-size: 200px 150px; - Establece un tamaño de píxeles específico para la imagen de fondo

Cuando abra este archivo HTML en un navegador, verá tres técnicas diferentes de dimensionamiento de imágenes de fondo.

Posicionar la imagen de fondo

En este paso, aprenderá a controlar la posición de las imágenes de fondo utilizando CSS. Continuaremos modificando el archivo styles.html en el directorio ~/project para demostrar diferentes técnicas de posicionamiento de fondo.

Actualice el archivo styles.html con el siguiente contenido:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Posicionamiento de imagen de fondo</title>
    <style>
      .image-container {
        width: 500px;
        height: 300px;
        border: 2px solid black;
        margin: 20px;
        color: white;
        font-weight: bold;
      }

      .top-left {
        background-image: url("background-sample.jpg");
        background-size: cover;
        background-position: top left;
      }

      .center {
        background-image: url("background-sample.jpg");
        background-size: cover;
        background-position: center;
      }

      .bottom-right {
        background-image: url("background-sample.jpg");
        background-size: cover;
        background-position: bottom right;
      }

      .custom-position {
        background-image: url("background-sample.jpg");
        background-size: cover;
        background-position: 20% 80%;
      }
    </style>
  </head>
  <body>
    <div class="image-container top-left">Posición superior izquierda</div>
    <div class="image-container center">Posición central</div>
    <div class="image-container bottom-right">Posición inferior derecha</div>
    <div class="image-container custom-position">
      Posición personalizada (20% 80%)
    </div>
  </body>
</html>

Este ejemplo demuestra cuatro maneras diferentes de posicionar imágenes de fondo:

  1. background-position: top left; - Posiciona la imagen en la esquina superior izquierda
  2. background-position: center; - Centra la imagen dentro del contenedor
  3. background-position: bottom right; - Posiciona la imagen en la esquina inferior derecha
  4. background-position: 20% 80%; - Utiliza valores porcentuales para el posicionamiento personalizado

Cuando abra este archivo HTML en un navegador, verá cómo diferentes valores de posicionamiento afectan la colocación de la imagen de fondo.

Controlar la repetición de la imagen de fondo

En este paso, aprenderá a controlar la repetición de la imagen de fondo utilizando la propiedad CSS background-repeat. Continuaremos modificando el archivo styles.html en el directorio ~/project para demostrar diferentes técnicas de repetición.

Actualice el archivo styles.html con el siguiente contenido:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Repetición de la imagen de fondo</title>
    <style>
      .image-container {
        width: 500px;
        height: 300px;
        border: 2px solid black;
        margin: 20px;
        color: white;
        font-weight: bold;
      }

      .repeat {
        background-image: url("background-sample.jpg");
        background-size: 100px 100px;
        background-repeat: repeat;
      }

      .repeat-x {
        background-image: url("background-sample.jpg");
        background-size: 100px 100px;
        background-repeat: repeat-x;
      }

      .repeat-y {
        background-image: url("background-sample.jpg");
        background-size: 100px 100px;
        background-repeat: repeat-y;
      }

      .no-repeat {
        background-image: url("background-sample.jpg");
        background-size: 200px 200px;
        background-repeat: no-repeat;
      }
    </style>
  </head>
  <body>
    <div class="image-container repeat">Repetir (Predeterminado)</div>
    <div class="image-container repeat-x">
      Repetir horizontalmente (Horizontal)
    </div>
    <div class="image-container repeat-y">Repetir verticalmente (Vertical)</div>
    <div class="image-container no-repeat">No repetir</div>
  </body>
</html>

Este ejemplo demuestra cuatro diferentes técnicas de repetición de la imagen de fondo:

  1. background-repeat: repeat; - Repite la imagen tanto horizontal como verticalmente (predeterminado)
  2. background-repeat: repeat-x; - Repite la imagen solo horizontalmente
  3. background-repeat: repeat-y; - Repite la imagen solo verticalmente
  4. background-repeat: no-repeat; - Evita que la imagen se repita

Cuando abra este archivo HTML en un navegador, verá cómo diferentes valores de repetición afectan la visualización de la imagen de fondo.

Combinar múltiples propiedades de fondo

En este paso, aprenderá a combinar múltiples propiedades de fondo para crear diseños de fondo más complejos e interesantes. Modificaremos el archivo styles.html en el directorio ~/project para demostrar técnicas avanzadas de estilo de fondo.

Actualice el archivo styles.html con el siguiente contenido:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Múltiples propiedades de fondo</title>
    <style>
      .image-container {
        width: 600px;
        height: 400px;
        border: 2px solid black;
        margin: 20px;
        color: white;
        font-weight: bold;
        padding: 20px;
      }

      .multiple-backgrounds {
        background-image:
          linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
          url("background-sample.jpg");
        background-size: cover, cover;
        background-position: center, center;
        background-repeat: no-repeat, no-repeat;
      }

      .layered-backgrounds {
        background-image:
          url("small-pattern.png"), linear-gradient(to right, #ff6b6b, #4ecdc4);
        background-size:
          100px 100px,
          cover;
        background-position:
          top left,
          center;
        background-repeat: repeat, no-repeat;
      }
    </style>
  </head>
  <body>
    <div class="image-container multiple-backgrounds">
      Superponer fondo con imagen
    </div>
    <div class="image-container layered-backgrounds">
      Fondo con capas de patrón y degradado
    </div>
  </body>
</html>

Primero, descargue una imagen de patrón pequeña:

wget https://labex.io/courses/images/small-pattern.png -O ~/project/small-pattern.png

Este ejemplo demuestra dos técnicas avanzadas de fondo:

  1. Fondo múltiple con superposición:

    • Utiliza un degradado lineal para crear una superposición semi-transparente
    • Combina el degradado con una imagen de fondo
    • Aplica dimensionamiento, posicionamiento y repetición consistentes
  2. Fondos con capas:

    • Combina una imagen de patrón repetitiva con un degradado lineal
    • Utiliza dimensionamiento y posicionamiento diferentes para cada capa de fondo

Cuando abra este archivo HTML en un navegador, verá cómo múltiples propiedades de fondo pueden crear diseños complejos e interesantes visualmente.

Resumen

En este laboratorio, los participantes aprendieron cómo aplicar estilos de fondo en CSS mediante un enfoque detallado y paso a paso. El laboratorio cubrió técnicas esenciales para mejorar el diseño de páginas web, incluyendo la configuración de colores de fondo utilizando diferentes métodos, como colores nombrados, códigos hexadecimales y funciones RGB, y la exploración de la manipulación de imágenes de fondo.

Los ejercicios prácticos demostraron cómo agregar imágenes de fondo a los elementos HTML, controlar su dimensionamiento, posicionamiento y repetición, y combinar múltiples propiedades de fondo. Al trabajar a través de ejemplos prácticos, los aprendices adquirieron habilidades prácticas en el uso de CSS para crear fondos de página web visualmente atractivos y dinámicos con diversas técnicas de estilo.