Imagens de fundo são elementos fundamentais no design de websites modernos, permitindo criar layouts atrativos e imersivos. Quando aplicadas corretamente, podem transformar completamente a experiência visual do usuário, adicionando profundidade e contexto ao conteúdo.
background-image
Define a imagem que será usada como fundo de um elemento.
Sintaxe básica:
background-image: url('caminho/para/imagem.jpg');
Exemplos:
/* Imagem única */
.elemento {
background-image: url('imagem.jpg');
}
/* Múltiplas imagens (sobrepostas) */
.elemento-camadas {
background-image: url('primeira.png'), url('segunda.png');
}
/* Gradientes como imagens */
.gradiente {
background-image: linear-gradient(to right, #f6d365, #fda085);
}
Observações importantes:
background-size
Controla o dimensionamento da imagem de fundo dentro do elemento.
Valores comuns:
/* Tamanhos específicos (largura/altura) */
background-size: 200px 100px;
/* Cobrir todo o elemento, mantendo proporção */
background-size: cover;
/* Conter a imagem inteira, mantendo proporção */
background-size: contain;
/* Tamanho original da imagem */
background-size: auto;
Quando usar cada opção:
cover
: Quando precisa garantir que o elemento esteja totalmente coberto, mesmo que partes da
imagem sejam cortadascontain
: Quando precisa mostrar a imagem inteira, mesmo que sobrem espaços vaziosbackground-position
Define a posição inicial da imagem dentro do elemento.
Sintaxe:
/* Palavras-chave */
background-position: top right;
/* Porcentagens (x% y%) */
background-position: 25% 75%;
/* Unidades (x y) */
background-position: 10px 20px;
Posições comuns:
top
, right
, bottom
, left
, center
top left
, bottom right
background-attachment
Determina se a imagem de fundo rola junto com o conteúdo ou permanece fixa.
Valores:
/* Rola com o conteúdo (padrão) */
background-attachment: scroll;
/* Permanece fixo em relação à viewport */
background-attachment: fixed;
/* Fixo em relação ao elemento (não à viewport) */
background-attachment: local;
Aplicações:
fixed
: Usado para criar efeito parallaxlocal
: Útil para conteúdo com rolagem internascroll
: Comportamento padrão e mais comumbackground
(Shorthand)Permite definir todas as propriedades de fundo em uma única declaração.
Sintaxe completa:
background: [background-color] [background-image] [background-repeat] [background-attachment] [background-position] / [background-size];
Exemplo prático:
.header {
background: #f5f5f5 url('header.jpg') no-repeat fixed center / cover;
}
Ordem recomendada:
background-color
)background-image
)background-repeat
)background-attachment
)background-position
)background-size
) - após barra (/)O efeito parallax cria uma sensação de profundidade fazendo com que elementos de fundo movam-se em velocidades diferentes durante a rolagem.
Implementação básica:
.parallax {
background-image: url('paisagem.jpg');
background-attachment: fixed;
background-position: center;
background-size: cover;
height: 500px; /* altura definida */
}
Dicas para o efeito parallax:
fixed
)Cria profundidade visual usando várias imagens sobrepostas.
.cena-profunda {
background-image:
url('primeiro-plano.png'),
url('meio.png'),
url('fundo.png');
background-position:
bottom center,
center center,
top center;
background-size:
100% auto,
cover,
cover;
background-repeat: no-repeat;
}
Melhora a legibilidade de texto sobre imagens de fundo.
.texto-sobre-imagem {
background-image:
linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3)),
url('imagem.jpg');
background-size: cover;
color: white;
}
Otimize suas imagens:
Técnicas de carregamento:
<link rel="preload" href="background.jpg" as="image">
Acessibilidade:
A maioria das propriedades de background tem boa compatibilidade com navegadores modernos, mas considere:
background-size
pode precisar de prefixos para navegadores muito antigos.hero {
background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('hero.jpg');
background-position: center;
background-repeat: no-repeat;
background-size: cover;
background-attachment: fixed;
height: 100vh;
color: white;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.card {
width: 300px;
height: 200px;
background-image: url('card-bg.jpg');
background-size: cover;
background-position: center;
border-radius: 8px;
position: relative;
overflow: hidden;
}
.card-content {
position: absolute;
bottom: 0;
width: 100%;
background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
color: white;
padding: 20px;
}
.parallax-section {
background-image: url('paisagem.jpg');
background-attachment: fixed;
background-position: center;
background-size: cover;
height: 400px;
display: flex;
align-items: center;
justify-content: center;
}
.parallax-content {
background-color: rgba(255, 255, 255, 0.8);
padding: 2rem;
border-radius: 8px;
max-width: 600px;
}
O domínio das propriedades de imagem de fundo no CSS permite criar websites visualmente impactantes. Ao compreender como cada propriedade funciona e como combiná-las efetivamente, você pode criar experiências imersivas mantendo a performance e acessibilidade.
Lembre-se de sempre considerar:
Com prática e experimentação, você descobrirá combinações criativas para utilizar imagens de fundo em seus projetos web.