CSS'de Clearfix ve Ebeveyn Yüksekliği
Sadece parent sınıfına sahip bir div bırakalım,
içindeki metni kaldıralım ve sadece kayan resmi
bırakalım. Bildiğiniz gibi, bu durumda
divin yüksekliği sıfıra inecek, geriye
sadece üst ve alt kenarlığı kalacak. Resim
isdivimizin altından taşacak:
<div class="parent">
<img src="img.png" alt="">
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
:
Kayan resmin divimizin yüksekliğini artırmasını
sağlayalım. Bunun için kullanılan
zekice bir yöntem var - resimden sonra clearfix sınıfına sahip
metinsiz bir div ekleyelim.
Resmimiz kayan bir element olduğu için ebeveynin yüksekliğini artırmaz, ancak clearfix div'i kayan bir element değildir ve ebeveynin yüksekliğini etkiler.
Clearfix div'ine clear özelliği atandığı için,
resim tarafından aşağıya itilecek ve onun altında duracak,
bu sayede ebeveynin
yüksekliğini artıracak.
Clearfix div'inin kendisi boş olduğu için ekranda görünmez, ancak ebeveynin yüksekliğini artırır.
Peki, deneyelim:
<div class="parent">
<img src="img.png" alt="">
<div class="clearfix"></div>
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
.clearfix {
clear: both;
}
: