CSS에서 클리어픽스와 부모 요소의 높이
클래스가 parent인 하나의 div를 남겨두고,
텍스트는 제거한 채 플로팅 이미지만 남겨둡시다.
이미 알고 계시듯이, 이 경우 div의 높이는
0으로 축소되어, 상하 테두리만 남게 됩니다.
이미지는 div 아래로 삐져나오게 됩니다:
<div class="parent">
<img src="img.png" alt="">
</div>
.parent {
border: 1px solid red;
}
.parent img {
float: left;
}
:
플로팅 이미지가 우리 div의 높이를 확장하도록
해봅시다. 이를 위해 교묘한 방법이 사용됩니다.
이미지 뒤에 텍스트 없이 클래스가 clearfix인
div를 배치하는 것입니다.
우리 이미지는 플로팅 요소이므로 부모의 높이를 확장하지 않지만, div-클리어픽스는 플로팅되지 않고 부모의 높이에 영향을 미칩니다.
div-클리어픽스에 clear 속성이 지정되어 있기 때문에,
이 요소는 이미지에 의해 아래로 밀려나 이미지
아래에 위치하게 되며, 이 과정에서 부모의
높이를 확장합니다.
div-클리어픽스 자체는 비어 있어 화면에 보이지 않지만, 부모의 높이를 확장하는 역할을 합니다.
자, 이제 시도해 봅시다:
<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;
}
: