Arka plan resmini div'e sığdır


334

Aşağıdaki div bir arka plan görüntüsü var, ancak görüntü kesilir:

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

Arka plan resmini kesmeden göstermenin bir yolu var mı?


Görüntü div'den daha mı büyük?
grc

1
evet görüntü div daha büyük
Rajeev

1
background-image: url (/media/img_1_bg.jpg); arka plan boyutu: içerir; Arka plan-tekrar: no-tekrar;
Waruna Manjula

Yanıtlar:



119

İhtiyacınız olan şey div ile aynı boyutlara sahip olmaksa, bunun en zarif çözüm olduğunu düşünüyorum:

background-size: 100% 100%;

Değilse, @grc tarafından verilen cevap en uygun olanıdır.

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


Sonunda tüm div'ı arka plana uyacak bir çözüm buldum. Teşekkür ederim!
Kamil Rykowski

5
ama bu görüntüyü uzatır ... arka plan görüntüsünü uzatmadan sığdırmanın bir yolu var mı?
Junaid

1
Ancak en boy oranı kaybedildi.
Öğrenci

@ Öğrenci Görüntüyü kırpmadan görüntünün boyutlarını değiştirirseniz, en boy oranı% 99 oranında kaybolur. Bu sağduyu.
Vaibhav Vishal

11

Bu özellikleri kullanabilirsiniz:

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

ve sonra kod şöyle:

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

8

ayrıca şunu kullanırsınız:

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

Div-değerlerinizi bilmiyorum, ama varsayalım ki bunlara sahipsin.

height: auto;
max-width: 600px;

Yine, bunlar sadece rastgele sayılardır. Arka plan resmini (isterseniz) div için sabit bir genişlikle yapmak oldukça zor olabilir, bu nedenle maksimum genişlik kullanın. Ve aslında bir div'ı arka plan resmiyle doldurmak karmaşık değildir, sadece üst öğeyi doğru şekilde biçimlendirdiğinizden emin olun, böylece görüntünün girebileceği bir yeri vardır.

Chris


Bu çözüm hakkında daha ayrıntılı olarak konuşan yüksek oyu verilen bir cevaba bağlantı verin: stackoverflow.com/questions/600743/… ve nasıl hesaplayacağınızı gösterir padding-top.
John Lee
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.