Ajustement de l'image de fond à la div

j'ai une image de fond dans la div suivante, mais l'image est coupée:

 <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">

y a-t-il un moyen de montrer l'image de fond sans la couper?

243
demandé sur Purag 2011-11-20 11:59:30

4 réponses

vous pouvez y arriver avec la propriété background-size , qui est maintenant supportée par la plupart des navigateurs .

pour ajuster l'image de fond à l'intérieur de la div:

background-size: contain;

pour mettre à l'échelle l'image de fond pour couvrir l'ensemble de la div:

background-size: cover;

JSFiddle exemple

il existe aussi un filtre pour IE 5.5 + prise en charge , ainsi que préfixes fournisseurs pour certains navigateurs plus anciens .

519
répondu grc 2017-05-23 12:02:45

Si vous avez besoin de l'image pour avoir les mêmes dimensions de la div, je pense que c'est la solution la plus élégante:

background-size: 100% 100%;

sinon, la réponse de @grc est la plus appropriée.

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

69
répondu Sertage 2018-06-21 08:42:14

vous pouvez aussi utiliser ceci:

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

Je ne connais pas vos div-values, mais supposons que vous les avez.

height: auto;
max-width: 600px;

encore une fois, ce sont des nombres aléatoires. Il pourrait être assez difficile de faire l'image de fond (si vous le souhaitez) avec une largeur fixe pour le div, donc mieux utiliser max-width. Et en fait, il n'est pas compliqué de remplir un div avec une image d'arrière-plan, assurez-vous que vous style l'élément parent de la bonne façon, de sorte que l'image a un endroit qu'il peut aller dans.

Chris

6
répondu Christian 2015-03-24 15:58:18

C'est soit vous changez la largeur et la hauteur de votre div, soit vous définissez la taille de l'arrière-plan.

-8
répondu Teffi 2011-11-20 08:11:05