HTML - Planos de Fundo

-

Tipos de Planos de Fundo

Quando se trata de planos de fundo no design web, existem vários tipos para escolher. Cada tipo oferece diferentes possibilidades visuais e pode ser usado para criar designs atraentes. Aqui estão os três principais tipos de planos de fundo: planos de fundo de cor, planos de fundo de imagem e planos de fundo gradiente.

Planos de Fundo de Cor

Planos de fundo de cor são o tipo mais simples de plano de fundo. Eles envolvem o uso de uma cor sólida como fundo de um elemento ou de toda a página web. Para definir um plano de fundo de cor usando CSS, você pode usar a propriedade background-color. O CSS oferece várias maneiras de especificar cores, incluindo:

  • Valores hexadecimais: As cores podem ser representadas usando um valor hexadecimal de seis dígitos precedido por um símbolo de hash (#). Por exemplo, #ff0000 representa vermelho.
  • Valores RGB: As cores podem ser especificadas usando a função rgb(), que recebe três parâmetros representando os valores de vermelho, verde e azul. Por exemplo, rgb(255, 0, 0) representa vermelho.
  • Valores HSL: As cores também podem ser definidas usando a função hsl() (matiz, saturação, luminosidade). Por exemplo, hsl(0°, 100%, 50%) representa vermelho.

O uso de planos de fundo de cor é simples e permite que você defina um cenário consistente para o seu conteúdo.

Planos de Fundo de Imagem

Planos de fundo de imagem permitem que você use uma imagem como fundo de um elemento ou de toda a página web. Para definir um plano de fundo de imagem usando CSS:

Exemplo: Image background CSS

background-image: url('path/to/image.jpg');

Você tem controle sobre como a imagem é exibida com propriedades como:

  • background-repeat: Determina se a imagem deve se repetir horizontalmente (repeat-x), verticalmente (repeat-y) ou não se repetir (no-repeat).
  • background-position: Especifica onde no espaço do elemento o plano de fundo começa (por exemplo, topo esquerdo).

Planos de fundo de imagem adicionam interesse visual e profundidade aos seus designs.

Propriedades de Fundo

O CSS oferece propriedades para controlar a aparência e o comportamento dos fundos. Essas propriedades permitem definir a cor de fundo, imagem, repetição, posição, fixação e tamanho. Vamos examinar cada uma dessas propriedades de fundo.

background-color

A propriedade background-color define a cor de fundo de um elemento. Você pode especificar uma cor sólida usando valores hexadecimais, valores RGB ou nomes de cores.

exemplo de background-color

.element {
  background-color: #ff0000; /* Vermelho */
}

Você também pode usar a palavra-chave transparent para criar um fundo transparente.

background-image

A propriedade background-image permite especificar uma imagem como fundo de um elemento. Você precisa fornecer a URL da imagem.

exemplo de background-image

.element {
  background-image: url('caminho/para/imagem.jpg');
}

Você pode controlar sua repetição e posicionamento usando outras propriedades.

background-repeat

A propriedade background-repeat controla a frequência de repetição da imagem. Ela aceita estes valores:

  • repeat: A imagem se repete horizontal e verticalmente (padrão).
  • repeat-x: A imagem se repete apenas horizontalmente.
  • repeat-y: A imagem se repete apenas verticalmente.
  • no-repeat: A imagem não se repete e aparece apenas uma vez.

exemplo de background-repeat

.element {
  background-image: url('caminho/para/imagem.jpg');
  background-repeat: no-repeat;
}

background-position

A propriedade background-position especifica onde a imagem é colocada dentro do elemento. Você pode usar palavras-chave como top, bottom, left, right e center, ou valores exatos usando comprimentos ou porcentagens.

exemplo de background-position

.element {
  background-image: url('caminho/para/imagem.jpg');
  background-position: center center;
}

Isso posicionará a imagem no centro tanto horizontal quanto verticalmente.

Background-Attachment

A propriedade background-attachment controla como uma imagem de fundo rola com o conteúdo da página e aceita dois valores:

  • scroll: A imagem de fundo rola com o conteúdo da página (padrão).
  • fixed: A imagem de fundo permanece estacionária mesmo quando outros elementos se movem.

exemplo de background-attachment

.element { 
  background-image: url('caminho/para/imagem.jpg'); 
  background-attachment: fixed; 
}

Usando essas ferramentas disponíveis via CSS, os desenvolvedores podem criar sites visualmente atraentes sem sacrificar o desempenho ou a usabilidade em diferentes dispositivos e navegadores.

Propriedade Abreviada de Fundo

O CSS oferece uma maneira de definir várias propriedades de fundo em uma única declaração usando a propriedade abreviada background. Essa propriedade permite combinar várias propriedades relacionadas ao fundo em uma única declaração, tornando seu código mais legível.

Para usar a propriedade abreviada background, você especifica os valores das propriedades individuais de fundo em uma ordem específica. A sintaxe para a propriedade abreviada background é a seguinte:

Exemplo: Propriedade Abreviada de Fundo em CSS

background: [background-color] [background-image] [background-position] [background-repeat] [background-attachment] [background-size];

Algum texto

body { 
    ...
}

Mais algum texto

Aqui está o que cada valor representa:

  • background-color: A cor do fundo do elemento.
  • background-image: A URL da imagem.
  • background-position: A posição da imagem.
  • background-repeat: Como a imagem se repete.
  • background-attachment: Como a imagem rola com o conteúdo.
  • background-size: O tamanho da imagem.

Ao usar essa propriedade abreviada, você pode omitir quaisquer valores que não deseja definir. No entanto, mantenha a ordem consistente.

Exemplo de Uso da Propriedade Abreviada de Fundo em CSS

.element {
  background: #f2f2f2 url('path/to/image.jpg') center no-repeat fixed;
}

Algum texto

body { 
    ...
}

Mais algum texto

Neste exemplo:

  • #f2f2f2 define uma cor cinza clara para o fundo.
  • 'path/to/image.jpg' define uma URL de imagem para o fundo.
  • center posiciona a imagem no centro do elemento.
  • no-repeat significa que a imagem não se repete.
  • fixed significa que a imagem permanece fixa enquanto o conteúdo rola.

Usar essa forma abreviada pode ajudar você a escrever código CSS mais conciso. É útil ao definir vários fundos para um elemento em uma única linha.

Se você quiser mudar apenas uma propriedade individual depois de usar essa forma abreviada, precisará especificar novamente todos os outros valores também. Alternativamente, use propriedades individuais para alterar aspectos específicos sem afetar os outros.

Múltiplos Planos de Fundo

O CSS permite sobrepor vários planos de fundo em um único elemento. Ao especificar múltiplas imagens e cores de fundo, você pode criar efeitos visuais sem a necessidade de elementos HTML adicionais.

Para aplicar múltiplos planos de fundo a um elemento, use a propriedade background ou propriedades individuais de fundo, separando cada plano de fundo com uma vírgula.

Exemplo: Múltiplos Planos de Fundo com Imagens e Gradiente

.element {
  background: url('image1.jpg') center no-repeat,
              url('image2.jpg') top left repeat,
              linear-gradient(to bottom, #fff, #000);
}
  1. image1.jpg é posicionada no centro e não se repete.
  2. image2.jpg é posicionada no canto superior esquerdo e se repete.
  3. Um gradiente linear de branco para preto é aplicado como terceiro plano de fundo.

Os planos de fundo são sobrepostos uns sobre os outros, com o primeiro plano de fundo especificado sendo a camada superior e o último especificado sendo a camada inferior.

Você também pode combinar cores de fundo com imagens:

Exemplo: Combinação de Cor de Fundo e Imagem

.element {
  background: url('image.jpg') center no-repeat,
              #ff0000;
}

Neste caso, a cor vermelha (#ff0000) ficará visível nas áreas onde a imagem é transparente ou não cobre completamente.

Ao usar múltiplos planos de fundo, você pode controlar o posicionamento, repetição e tamanho de cada um separadamente:

Exemplo: Controle das Propriedades de Fundo Separadamente

.element {
  background-image: url('image1.jpg'), url('image2.jpg');
  background-position: center, top right;
  background-repeat: no-repeat, repeat-x;
  background-size: cover, contain;
}
  • image1.jpg está centralizada, não se repete e cobre todo o elemento.
  • image2.jpg está posicionada no canto superior direito; repete-se horizontalmente; se ajusta dentro do elemento mantendo sua proporção.

Ao sobrepor múltiplos planos de fundo como nos exemplos acima, você pode criar designs atraentes que combinam imagens, cores e gradientes. Experimente diferentes combinações e propriedades para alcançar o efeito desejado para sua página web.

Transparência de Fundo

O CSS oferece maneiras de criar fundos transparentes usando valores de cor RGBA ou HSLA. Isso permite controlar a opacidade do fundo, tornando-o parcialmente ou totalmente transparente.

Para criar um fundo transparente usando RGBA:

Exemplo: Fundo Transparente Usando RGBA

.element {
  background-color: rgba(255, 0, 0, 0.5);
}
  • 255, 0, 0 representa a cor vermelha.
  • 0.5 é o valor alfa que controla a opacidade (0 é totalmente transparente, 1 é totalmente opaco).

A cor de fundo será vermelho meio transparente.

De forma semelhante, você pode usar HSLA para criar fundos transparentes:

Exemplo: Fundo Transparente Usando HSLA

.element {
  background-color: hsla(0, 100%, 50%, 0.5);
}
  • 0 é o valor de matiz (vermelho).
  • 100% é a saturação.
  • 50% é a luminosidade.
  • 0.5 é o valor alfa para 50% de opacidade.

Isso cria um fundo vermelho meio transparente usando o modelo de cor HSLA.

Ao ajustar o valor alfa, você pode controlar o quão transparente sua cor de fundo será. Isso é útil quando você deseja criar sobreposições ou mostrar conteúdo por baixo de um elemento.

Exemplo de Sobreposição com Fundo Transparente

<div class="overlay">
  <h1>Bem-vindo</h1>
  <p>Este é um texto sobre um fundo transparente.</p>
</div>

<style>
.overlay {
    background-color: rgba(0, 0, 0, .7);
    color: #fff;
    padding: 20px;
}
</style>
  • A <div> tem um fundo escuro semitransparente usando rgba(0, 0, 0, 0.7).
  • A cor do texto é definida como branco (#fff) para melhor legibilidade.
  • O preenchimento adiciona espaçamento ao redor do conteúdo dentro da <div>.

O efeito transparente permite que o conteúdo atrás da <div> apareça, mantendo o texto legível.

Ao usar fundos transparentes, pense na facilidade de leitura do seu texto. Escolha cores e tamanhos de fonte adequados para garantir contraste suficiente com o plano de fundo. Fundos transparentes são úteis para criar designs atrativos e sobreposições, permitindo que o conteúdo subjacente seja visível. Controlando a transparência com valores RGBA ou HSLA, você obtém exatamente o nível de transparência desejado em seus designs.

Exemplos e Demonstrações

Aqui estão alguns exemplos práticos de uso de fundos no design web. Esses trechos de código e demonstrações ao vivo mostram como você pode usar diferentes tipos de fundos e propriedades para criar designs atraentes.

Fundos de Seção Coloridos

Você pode usar fundos de cor sólida para criar seções distintas em uma página web.

Exemplo: Fundos de Seção Coloridos

<section class="section-1">
  <h2>Seção 1</h2>
  <p>Esta seção tem um fundo azul.</p>
</section>

<section class="section-2">
  <h2>Seção 2</h2>
  <p>Esta seção tem um fundo verde.</p>
</section>

<style>
.section-1 {
  background-color: #2196F3;
  color: #fff;
  padding: 20px;
}

.section-2 {
  background-color: #4CAF50;
  color: #fff;
  padding: 20px;
}
</style>

Neste exemplo, dois elementos <section> têm cores de fundo diferentes (#2196F3 para azul e #4CAF50 para verde) usando a propriedade background-color. A cor do texto é definida como branco (#fff) para melhor legibilidade, e o preenchimento é adicionado para espaçamento.

Fundo de Imagem Hero

Você pode criar uma seção hero com uma imagem de fundo que cobre toda a seção.

Exemplo: Fundo de Imagem Hero

<section class="hero">
   <h1>Bem-vindo ao Meu Site</h1>
   <p>Esta é uma seção hero com uma imagem de fundo.</p>
</section>

<style>
.hero {
   background-image: url('caminho/para/imagem-hero.jpg');
   background-size: cover;
   background-position: center;
   height: 400px; 
   display: flex; 
   justify-content: center; 
   align-items: center; 
   color: #fff; 
   text-align: center;
}
</style>  

Neste exemplo, o <section class="hero"> tem uma imagem de fundo aplicada usando a propriedade background-image. O background-size é definido como cover, garantindo que a imagem cubra toda a seção, e background-position é definido como center. A seção tem uma altura de 400px, e o flexbox centraliza o conteúdo vertical e horizontalmente. A cor do texto é definida como branco (#fff) para melhor visibilidade contra a imagem.

Fundo Gradiente com Sobreposição Transparente

Você pode criar uma seção com fundos gradientes e sobreposições transparentes para o texto.

Exemplo: Fundo Gradiente com Sobreposição Transparente

<section class="gradient-section">
  <div class="overlay">
    <h2>Seção Gradiente</h2>
    <p>Esta seção tem fundos gradientes com sobreposições transparentes.</p>
  </div>
</section>

<style>
.gradient-section {
  background-image: linear-gradient(to right, #ff7e5f, #feb47b);
  padding: 50px;
}
.overlay {
  background-color: rgba(0, 0, 0, 0.6);
  padding: 20px;
  color: #fff;
  text-align: center;
}
</style>

Neste exemplo, <section class="gradient-section"> tem fundos gradientes lineares que transitam de #ff7e5f para #feb47b usando linear-gradient(). Dentro há <div class="overlay"> que usa preto transparente (rgba(0, 0, 0, 0.6)) para seu background-color. As cores do texto são brancas (#fff) para legibilidade contra a sobreposição escura. O preenchimento adiciona espaço ao redor de ambas as seções e sobreposições.