2016-03-30 30 views
0

Sorum sırasını değiştirmeden kalan genişliğini doldurmak olun bu bir aynıdır: make a div fill up the remaining widthdiv elemanları

Ama div sırasını değiştirmek istemiyoruz. Benim özel durumda

, ben olmasını istiyorum: Ben div sırasını yeniden eğer

div float: left; width: 100% - 500px; (i.e. this should take up all the remaining space) 
div float: right; width: 250px; 
div float: right; width: 250px; 

bu işi yapabilir, ama bunu yapmak istemiyorum çünkü mobil cihazlarda Bütün divların genişliğini% 100 yapmak istiyorum ve sipariş kalmalıdır. Bunu yapmanın bir yolu var mı? Flexbox tek çözüm mü?

+0

genişliği: hesaplanan (100vw - 500 piksel)? – Zze

+2

Kod arama soruları, ** kendisini sorgulamak için gereken en kısa kodu ** içermelidir ** tercihen [** Yığın Snippet **] 'da (https://blog.stackoverflow.com/2014/09/introducing- çalıştırılabilir-javaScript-css-ve-html kod parçacıkları /). [** Minimal, Tam ve Doğrulanabilir bir örnek nasıl oluşturulur **] (http://stackoverflow.com/help/mcve) –

cevap

1

calc()'u kullanmanız yeterlidir. Ebeveyn div boyutu değiştirdiğinde, 100% güncellenir ve calc() olacaktır. Bu aynı zamanda tam olarak yanıtlanması gerektiği anlamına gelir.

.my-div { 
    width: calc(100% - 500px); 
} 
+0

Bu, yalnızca kullanıcıların yaklaşık% 90'ında çalışır: http://caniuse.com/ # search = calc –

+0

Sanırım bunu bir javascriptte yapabilirim. Teşekkürler –

+0

Bu gerçekten harika görünüyor. Yüzde oranını azaltan UC tarayıcısı, ama hedef ülkeler için önemli değil –

1

aşağıdakileri deneyin, ayrıca duyarlı!

.w-250{ 
 
    width: 250px; 
 
    height: 75px; 
 
    
 
    float: right; 
 
    border: 1px solid red; 
 
} 
 
#r-boxer{ 
 
    overflow: hidden; 
 
} 
 
#r-elem{ 
 
    width: 99%; 
 
    height: 75px; 
 
    
 
    border: 1px solid blue; 
 
}
<div id="container"> 
 
    <div class="w-250">Width 250px;</div> 
 
    <div class="w-250">Width 250px;</div> 
 
    <div id="r-boxer"><div id="r-elem">Remaining Space</div></div> 
 
</div>

+0

İstediğim şey, r-boxer ilk ve daha sonra 250px kutuları hariç –