Konteynır div'imin çocuk boyunun maksimum yüksekliğini almasını istiyorum. çocuğun hangi boyda olacağını bilmeden div
. JSFiddle üzerinde deniyordum . Konteyner div
kırmızı yanıyor. ki görünmüyor. Neden?
Konteynır div'imin çocuk boyunun maksimum yüksekliğini almasını istiyorum. çocuğun hangi boyda olacağını bilmeden div
. JSFiddle üzerinde deniyordum . Konteyner div
kırmızı yanıyor. ki görünmüyor. Neden?
Yanıtlar:
Aşağıdaki mülkü ekleyin:
.c{
...
overflow: hidden;
}
Bu, kabı, yüzen öğelerden bağımsız olarak, içindeki tüm öğelerin yüksekliğine saygı duymaya zorlar.
http://jsfiddle.net/gtdfY/3/
Son zamanlarda, bu numarayı gerektiren, ancak taşmanın gösterilmesine izin vermem gereken bir proje üzerinde çalışıyordum, bunun yerine, kayan öğelerinizi temizlemek için bir sözde öğe kullanabilirsiniz, tüm öğeler üzerinde taşmaya izin verirken aynı etkiyi etkili bir şekilde elde edebilirsiniz.
.c:after{
clear: both;
content: "";
display: block;
}
Çocukları yüzdürüyorsunuz, yani konteynerin önünde "yüzüyorlar". Doğru yüksekliği almak için şamandırayı "temizlemelisiniz"
Div stili = "clear: both" kayan öğeyi temizler ve kaba doğru yüksekliği verir. Float'lar hakkında daha fazla bilgi için http://css.maxdesign.com.au/floatutorial/clear.htm adresine bakın .
Örneğin.
<div class="c">
<div class="l">
</div>
<div class="m">
World
</div>
<div style="clear: both" />
</div>
Bu takas divini sondan önce eklemeyi deneyin </div>
<div style="clear: both; line-height: 0;"> </div>
En iyi ve en kurşun geçirmez çözüm eklemektir ::before
ve ::after
kaba pseudoelements. Örneğin, aşağıdaki gibi bir listeniz varsa:
<ul class="clearfix">
<li></li>
<li></li>
<li></li>
</ul>
Listedeki her öğenin float:left
özelliği vardır, o zaman css'nize eklemelisiniz:
.clearfix::after, .clearfix::before {
content: '';
clear: both;
display: table;
}
Ya da display:inline-block;
özelliği deneyebilirsiniz , sonra herhangi bir düzeltme eklemeniz gerekmez.