2013-05-15 11 views
7
aşağıdaki ihtiyacım

: içeriksizYükseklik Zorlanır Arkaplan Resim ile Boş Div Need ve Duyarlı Olmalı

  • Emtpy div
  • div
  • arka plan görüntüsü olarak ayarlanmış
  • arka plan görüntüsü akışkan olması/div üzerinde
  • sabit boyutları seti edemez yeniden boyutuna duyarlı

denemek Her şey desteklemek için açık div zorlamak için başarısız arka plan resminin boyutu. Herhangi bir yardım büyük

http://www.everymountain.us/

<header id="header"> 
<div class="wrapper"> 
<div class="inner"> 
<div class="top_banner"></div> 
</div> 
<div class="clear"></div> 
</div> 
</header> 

.front #header .top_banner { background: url('images/bg_front.jpg') no-repeat; background-size: cover; } 
+0

ben senin çabalarını görmek istekli olacağını: Soru belirtir), I (dolgu hüner güçleri o) boş olması size div içerik koymak sağlayan bir CSS Calc çözüm ayrılmak istedim. Pls, çalışmanızın bir JSfiddle bağlantısını ve istediğiniz çıktının ekran görüntüsünü yayınlar. – Nitesh

+0

site ve kod snippet'ine yukarıdaki bağlantıyı ekledi. – user1447958

+0

Arka plan, Div'inizin boyutuna göre olacaktır. Yani divunuzun boyutu ayarlanmamışsa, arka plan görüntüsü div boyutuna göre görüntülenir. –

cevap

1

Sen CSS

burada
#DivName{ 
    background-size: auto auto; 
    } 

birinci genişlik ve ikinci yükseklik içindir için otomatik olan

+0

otomatik çalışmıyor ... boş div ile boş div hala çöküyor. – user1447958

+0

Bu, tarayıcı oluşturmanın bir parçasıdır. div " " bir boşluk ekleyebilir miyim. Bence işe yarayacak. –

+0

Başarıyı yakalarsan haberim olsun? –

0

deneyin uygulandıktan sonra her şeyin üstesinden gelebilecek ... takdir Farklı sabit yüksekliklerde çalışmak için farklı ekran boyutları için CSS'nizde medie sorguları kullanmak. Örneğin :

@media (min-width: 1200px) { 
    div { height: 3em; } 
} 
@media (min-width: 768px) and (max-width: 979px) { 
    div { height: 2em; } 
} 
@media (max-width: 767px) { 
    div { height: 1.2em; } 
} 
@media (max-width: 480px) { 
    div { height: 1em; } 
    } 

vb özelleştirmek için gerekenleri. Tüm ekran ve arka plan boyutu için kapak genişliğini% 100 bırakabilirsiniz. Ayrıca, mobil veya tablet cihazlar için web sitenize daha az boyut vermek için her bir ekran boyutu için farklı boyutta arka planlar (farklı dosyalar) oluşturabilirsiniz.

+0

Yani "medya" yanlış tip – danielnagy

31

Yüksekliğin en boy oranını sıvı genişliğine kilitlemenin yolu, padding-top veya padding-bottom yüzdesini kullanmaktır. Bunun nedeni, tüm doldurma yüzdelerinin öğe muhafazasının genişliğinden olmasıdır. Arka plan resminiz 960 x 520, yani yükseklik 54.166666666667%.

html

<div class="top_banner"></div> 

CSS

.top_banner { 
    background-image: url('images/bg_front.jpg'); 
    background-size: 100%; 
    width: 100%; 
    padding-top: 54.166666666667%; 
    height: 0; 
} 

Örnek: http://jsfiddle.net/SsTZe/156/

Esasen aynı soru: CSS fluid image replacement?

+0

için özür dilerim 54.166666666667 padding top için olsun nasıl olsun? –

+2

@ Memor-X 520/960 –

+1

Bu, yüksekliği açıkça belirtmek zorunda kalma problemini atlayan mükemmel bir tekniktir. Teşekkürler demekten daha fazlası - Ben de başkalarının dikkatini bu cevabı çekmek istiyorum. – weezilla

0

bu sıvı yükseklikte divs oluşturmak için bir üst hakkında sonucu olduğu Genel olarak (sadece boş olanlar gibi değil

.my-div { 
    background: #ccc url(https://link-to-image/img.jpg) no-repeat 50% 0; 
    background-size: 100% auto; 
    width: calc(100vw - 350px); 
    height: calc((100vw - 350px) * 0.468795); /* replace the decimal with your height/width aspect ratio */ 
} 
+0

şimdi tüm tarayıcılarda calc çalışıyor, çünkü destek eksikliğinden kaçınıyordum? – user1447958

+0

Opera dışında şu günlerde oldukça iyi kapsama alanı: https://caniuse.com/#search=calc –

İlgili konular