Background

Como criar um background com imagens

Para criar um background com imagens no CSS, utilizamos a propriedade background-image. Abaixo, vamos explorar algumas propriedades relacionadas ao background e como utilizá-las.

Background-repeat

A propriedade background-repeat define se e como a imagem de fundo será repetida. As opções mais comuns são:

  • repeat: repete a imagem tanto horizontalmente quanto verticalmente (padrão).
  • no-repeat: não repete a imagem.
  • repeat-x: repete a imagem apenas horizontalmente.
  • repeat-y: repete a imagem apenas verticalmente.

Exemplo de código:

    <style>
        div {
            background-image: url('imagens/exemplo.jpg');
            background-repeat: no-repeat;
        }
    </style>
                
Exemplo interativo

Background-position

A propriedade background-position define a posição inicial da imagem de fundo. Alguns valores comuns são:

  • left top: canto superior esquerdo (padrão).
  • center center: centro do elemento.
  • right bottom: canto inferior direito.

Exemplo de código:

        <style>
        div {
            background-image: url('imagens/exemplo.jpg');
            background-position: center center;
        }
        </style>
                

Background-size

A propriedade background-size define o tamanho da imagem de fundo. Alguns valores comuns são:

  • auto: mantém o tamanho original da imagem (padrão).
  • cover: redimensiona a imagem para cobrir todo o elemento.
  • contain: redimensiona a imagem para caber dentro do elemento.
  • percentage: redimensiona a imagem para uma porcentagem específica do elemento.
  • length: redimensiona a imagem para um tamanho específico em unidades de comprimento (px, em, etc.).

Exemplo de código:

        <style>
        div {
            background-image: url('imagens/exemplo.jpg');
            background-size: cover;
        }
        </style>
                

Background-attachment

A propriedade background-attachment define se a imagem de fundo deve rolar com o conteúdo da página ou ficar fixa. Alguns valores comuns são:

  • scroll: a imagem de fundo rola com o conteúdo (padrão).
  • fixed: a imagem de fundo fica fixa em relação à janela do navegador.
  • local: a imagem de fundo rola com o conteúdo do elemento.

Quando usamos background-attachment: local;, a imagem de fundo se move junto com o conteúdo do elemento. Isso é útil quando queremos que a imagem de fundo acompanhe a rolagem do conteúdo dentro de um elemento específico.

Exemplo de código:

        <style>
        .scrollable {
            width: 300px;
            height: 200px;
            overflow: auto;
            background-image: url('imagens/exemplo.jpg');
            background-attachment: local;
            background-size: cover;
        }
        .content {
            height: 400px;
        }
        </style>
                
Exemplo interativo

Conteúdo rolável...

Movimente a barra lateral do navegador e da janela em todos os exemplos para entender o funcionamento

Shorthand de Background

A propriedade background é uma forma abreviada de definir várias propriedades de fundo em uma única linha. A ordem das propriedades no shorthand é importante e deve seguir a seguinte sequência:

  1. background-color
  2. background-image
  3. background-position
  4. background-size (deve ser precedido por uma barra "/")
  5. background-repeat
  6. background-attachment
  7. background-origin (opcional)
  8. background-clip (opcional)

Exemplo de código:

            <style>
                div {
                    background: #000 url('imagens/exemplo.jpg') center/cover no-repeat fixed;
                }
            </style>
                

O exemplo acima define a cor de fundo como preta, a imagem de fundo como 'exemplo.jpg', posicionada no centro, redimensionada para cobrir o elemento, sem repetição, e fixa em relação à janela do navegador.

Exemplo interativo




Background-origin

A propriedade background-origin especifica a área de posicionamento da imagem de fundo. Ela define a origem da imagem de fundo dentro do elemento. Os valores possíveis são:

  • border-box: A imagem de fundo começa a partir da borda do elemento.
  • padding-box: A imagem de fundo começa a partir da borda interna do padding do elemento.
  • content-box: A imagem de fundo começa a partir da borda do conteúdo do elemento.

Exemplo de código:

    <style>
        .origin-example {
            width: 200px;
            height: 200px;
            border: 10px solid black;
            padding: 20px;
            background-image: url('imagens/exemplo.jpg');
            background-origin: border-box;
            background-size: cover;
        }
    </style>
                
Exemplo interativo

Background-clip

A propriedade background-clip define até onde a imagem de fundo ou a cor de fundo deve se estender dentro do elemento. Os valores possíveis são:

  • border-box: A imagem de fundo ou a cor de fundo se estende até a borda do elemento.
  • padding-box: A imagem de fundo ou a cor de fundo se estende até a borda interna do padding do elemento.
  • content-box: A imagem de fundo ou a cor de fundo se estende até a borda do conteúdo do elemento.

Exemplo de código:

    <style>
        .clip-example {
            width: 200px;
            height: 200px;
            border: 10px solid black;
            padding: 20px;
            background-image: url('imagens/exemplo.jpg');
            background-clip: border-box;
            background-size: cover;
        }
    </style>
    box-sizing:content-box;
    width: 200px;
    height: 200px;
    border: solid 20px black;
    padding: 20px;
    background-image: url('imagens/exemplo1.jpg');
    background-clip: padding-box;
    background-size: cover;
                
Exemplo interativo

Background degradê

Para criar um efeito degradê com o CSS, utilizamos a propriedade background-image em vez de background-color. Existem dois tipos principais de degradê: linear e radial.

Linear Gradient

O efeito linear segue uma linha reta, podendo ser direcionado em diferentes ângulos. Utilizamos graus para definir a direção do início e do fim do efeito.

Exemplo:

O comando:

    <style>
        div {
            background-image: linear-gradient(90deg, #f00, #0f0);
        }
    </style>
                

É possível adicionar mais de duas cores ao efeito.

Radial Gradient

O efeito radial parte do centro da imagem para as extremidades, criando um efeito circular.

Exemplo:

O comando:

background-image: radial-gradient(circle, #00f, #0f0);

Ocupação por Percentagem

É possível definir a porcentagem que cada cor ocupa antes de iniciar o degradê. Veja no exemplo abaixo a cor verde ocupando 50% do espaço.

Exemplo:

O comando:

background-image: linear-gradient(90deg, #0f0 50%, #f0f, #00f);

Também é possível definir em qual trecho do bloco iniciará a transição da cor. Para isso, o percentual deve ficar entre vírgulas e entre as cores escolhidas.

Exemplo:

O comando:

background-image: linear-gradient(90deg, #f00 29%, 30%, #0f0 31%, 49%, #00f 50%);
  • background-image: Propriedade CSS usada para definir uma imagem de fundo para um elemento.
  • linear-gradient(90deg, ...): Função CSS que cria uma transição gradual entre duas ou mais cores ao longo de uma linha reta. O parâmetro 90deg especifica a direção do gradiente (90 graus, ou seja, da esquerda para a direita).
  • #f00 29%: Cor vermelha (hexadecimal #f00) que ocupa até 29% do gradiente.
  • 30%: Ponto de transição sem cor definida, que será interpolada automaticamente pelo navegador entre as cores adjacentes.
  • #0f0 31%: Cor verde (hexadecimal #0f0) que começa a partir de 31% do gradiente.
  • 49%: Outro ponto de transição sem cor definida, interpolado automaticamente.
  • #00f 50%: Cor azul (hexadecimal #00f) que começa a partir de 50% do gradiente.
Exemplo interativo
background-image: linear-gradient
background-image: linear-gradient
(, 
 , ,
 ,,
 );

Efeito Parallax

Efeito Paralax simula uma sensação de você está passando por uma janela, e conforme vai mudando o ângulo de visão você vai conseguindo enxergar mais da paisagem.

Veja o efeito Parallax abaixo:

Esse efeito é muito utilizado em sites para dar uma sensação de movimento e profundidade.

Para criar esse efeito, basta adicionar a propriedade background-attachment: fixed; à imagem de fundo.

Veja o código usado:

    <div style="
    display: inline-block;
    width: 400px;
    height: 400px;
    margin-left: 25vw;
    background-image: url(imagens/wallpaper002.jpg);
    background-attachment: fixed;
    background-size: cover;
    box-shadow: inset 3px 3px 3px 5px rgba(0, 0, 0, 0.295);
    ">
    </div>
            

Materiais de apoio

Imagens de Fundo.pdf