Ajustar a imagem de fundo à div

334

Eu tenho uma imagem de plano de fundo na seguinte div, mas a imagem é cortada:

 <div style='text-align:center;background-image: url(/media/img_1_bg.jpg);background-repeat:no-repeat;width:450px;height:900px;' id="mainpage" align="center">

Existe uma maneira de mostrar a imagem de fundo sem cortá-la?

Rajeev
fonte
A imagem é maior que a div?
grc
1
sim a imagem é maior do que a div
Rajeev
1
imagem de plano de fundo: url (/media/img_1_bg.jpg); tamanho do plano de fundo: contém; repetição em segundo plano: sem repetição;
Waruna Manjula

Respostas:

119

Se o que você precisa é que a imagem tenha as mesmas dimensões da div, acho que esta é a solução mais elegante:

background-size: 100% 100%;

Caso contrário, a resposta do @grc é a mais apropriada.

Fonte: http://www.w3schools.com/cssref/css3_pr_background-size.asp

Sertage
fonte
Finalmente, encontrei a solução para ajustar toda a div ao fundo. Obrigado!
Kamil Rykowski
5
mas isso esticaria a imagem ... existe uma maneira de ajustar a imagem de fundo sem esticá-la?
Junaid
1
Relação de aspecto perdida no entanto.
Learner
@ Aluno Se você alterar as dimensões de uma imagem sem cortá-la, a proporção será perdida 99% do tempo. É senso comum.
Vaibhav Vishal
11

Você pode usar estes atributos:

background-size: contain;
background-repeat: no-repeat;

e você codifica é assim:

 <div style="text-align:center;background-image: url(/media/img_1_bg.jpg); background-size: contain;
background-repeat: no-repeat;" id="mainpage">
hojjat.mi
fonte
8

você também usa isso:

background-size:contain;
height: 0;
width: 100%;
padding-top: 66,64%; 

Não conheço seus valores div, mas vamos supor que você os tenha.

height: auto;
max-width: 600px;

Novamente, esses são apenas números aleatórios. Pode ser muito difícil criar uma imagem de plano de fundo (se você desejar) com uma largura fixa para a div, portanto, use melhor a largura máxima. E, na verdade, não é complicado preencher uma div com uma imagem de plano de fundo, apenas certifique-se de estilizar o elemento pai da maneira certa, para que a imagem tenha um lugar para onde ela possa ir.

Chris

cristão
fonte
Link para uma resposta altamente votada que fala sobre esta solução em mais detalhes: stackoverflow.com/questions/600743/… e mostra como calcular o padding-top.
John Lee