Clearfix og forelderhøyde i CSS
La oss la være en div med klassen parent,
fjerne teksten fra den, og bare la det flytende
bildet være. Som du allerede vet, i dette tilfellet
vil høyden på div-en kollapse til null, bare
den øverste og nedre grensen vil forbli. Bildet
vil derimot stikke ut under div-en vår nederst:
<div class="parent">
<img src="img.png" alt="">
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
:
La oss gjøre slik at det flytende bildet
utvider div-en vår i høyden. For dette brukes
et lurt triks - la oss plassere en div
uten tekst med klassen clearfix etter bildet.
Bildet vårt er et flytende element og utvider ikke forelderen i høyden, men div-clearfixen - er ikke flytende og påvirker forelderens høyde.
Siden div-clearfixen har egenskapen clear satt,
vil det føre til at den vil skyves ned av bildet
og stå under det, og dermed utvide
forelderen i høyden.
Div-clearfixen i seg selv er tom og ikke synlig på skjermen, men utvider likevel forelderen i høyden.
Så, la oss prøve:
<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;
}
: