2012-10-16 16 views
7

Burada bir sürü okuma yaptım ve cevabım için bir çözüm bulamıyorum.Yüzen div Mutlak konum olmadan dinamik ebeveynin% 100 yükseklik?

Aşağıdaki html'ye göre, birden çok süzülmüş sol div içeren bir konteyner divum var.

<div class="catbg0" id="b1"> 

    <div class="catb1">#</div> 
    <div class="catb2">Board Name</div> 
    <div class="catb3">Topics</div> 
    <div class="catb4">Posts</div> 
    <div class="catb5">Last Post</div> 
    <div class="clearboth"></div> 

</div> 

Sorunum belirli bir yüksekliğe .catbg0 sahip olmamasıdır, .catb2 içeriği kendi yüksekliğine aşağı iter ve içerik olarak ben belirli bir yüksekliğe ayarlayın koyamazsınız değişebilir. .catb sınıflarının geri kalanının .catbg0 sınıfının% 100'üne çıkmasını istiyorum, ancak ayar yüksekliğini:% 100; çalışmıyor.

Yukarıdaki ile ilgili CSS aşağıdadır.

.catb1 {float: left; width: 9%; height: 100%; min-height: 100%;} 
.catb2 {float: left; width: 52%; height: 100%; min-height: 100%;} 
.catb3 {float: left; width: 8%; height: 100%; min-height: 100%;} 
.catb4 {float: left; width: 8%; height: 100%; min-height: 100%;} 
.catb5 {float: left; width: 23%; height: 100%; min-height: 100%;} 
.clearboth {clear: both; height:0; width: 0; margin: 0; padding: 0;} 

Herhangi bir fikir? Teşekkürler.

+2

SO hoş geldiniz! İlgili CSS'yi de dahil ederseniz, bu cevaplamak daha kolay olurdu. – JcFx

cevap

2

Bildiğim kadarıyla pozisyonu engelle: mutlak% 100 yükseklik ve çocukları da olabilir.

<div class="catbg0" id="b1"> 

    <div class="catb2">Board Name</div> 

    <div class="wrapper"> 
     <div class="catb1">#</div> 
     <!-- margin == catb2 width --> 
     <div class="catb3">Topics</div> 
     <div class="catb4">Posts</div> 
     <div class="catb5">Last Post</div> 
    </div> 

    <div class="clearboth"></div> 

</div> 

CSS

.catbg0 { position: relative; } 
.wrapper { position: absolute; width: 100%; height: 100%; } 
.catb2 { margin-left: /* catb1 width here */ } 

dip not:

.catb en büyük yüksekliğe .catb2 varsa, emin

* sarıcı eklemeyi deneyin Belki de sizin için yararlı olur - A new micro clearfix hack

+0

Bu iyi çalışıyor gibi görünüyor, aslında .catb2 div şimdi yüzen divlerin geri kalanı arkasında gizli? .catb1 {margin-right: 52% (.catbg2'nin genişliği) eklerseniz, ancak iyi çalışır? Bunun nedeni parçasını doğru şekilde değiştirmediğim için mi? – sangwe11

+0

Evet, .catb1 {margin-right: 52%;} veya .catb3 {margin-left: 52%} 'ı ekleyebilirsiniz. –

+0

, bunun için bir jsfiddle örneği: https://jsfiddle.net/f14p9kzL/ Ayrıca pozisyon mutlak kullanmak istemedim ama hiçbir şey denedim işe yaramadı ve bu gerçekten en iyi çözüm – Francisc0

0

Emin değilim. Ancak konteynırı (catbg0) bir taşma vermek: gizli; Çalışabilir. Genellikle bu, uygulandığı divi uzatır (Belirli bir yükseklik ayarlanmadığında).

Not: Bu hala bir taşma, uzun sözcükler vb. Ve taşmalar, div taşmasını maskelerken devam edecektir.

+0

İlgili CSS eklendi. Ayrıca, düzeltmeye çalıştığım sorun konteyner div aşağı germe değil, clearboth eleman, .catb1, .catb3, .catb4, .catb5, ne olursa olsun .catb2 .catb0 uzanır. – sangwe11