- Published on
CSS에서 float을 해제하는 방법들
- Authors

- Name
- Inhwan Cho
CSS의 float 속성은 요소를 왼쪽이나 오른쪽으로 흐르게 하여 텍스트와 이미지가 그 주변을 둘러싸게 합니다.
하지만 떠 있는(floating) 요소들을 자식 엘리먼트에 사용하게 되면 부모 엘리먼트가 자식의 높이를 감지할 수 없기 때문에 이를 반영하기 위한 방법이 필요합니다.
본문에서는 float을 해제하는 몇 가지 방법을 알아보고, 각각의 장단점을 비교해 보겠습니다.
1. Clear 속성 사용하기
clear 속성은 float 속성이 적용된 요소 다음에 오는 요소에 적용될 수 있으며, 해당 요소가 float된 요소의 영향을 받지 않게 합니다.
예시:
<div style="float: left;">이것은 Float된 요소입니다.</div>
<div style="clear: both;">이것은 Clear된 요소입니다.</div>
clear 속성은 left, right, both 값을 가질 수 있으며, 이는 각각 왼쪽, 오른쪽 혹은 양쪽 방향의 float을 해제합니다.
2. Overflow 속성 사용하기
부모 요소에 overflow: auto 또는 overflow: hidden을 적용하는 것도 float을 해제하는 방법 중 하나입니다.
이 방법은 부모 요소가 float된 자식들을 "감싸는" 효과를 가집니다.
예시:
<div style="overflow: auto;">
<div style="float: left;">Float된 요소입니다.</div>
</div>
부모 요소에 overflow 속성을 적용하면, 부모 요소는 자식 요소들이 차지하는 공간을 인식하게 되어, 올바른 높이값을 가지게 됩니다.
3. 가상 요소를 이용한 clearfix 해법
가장 널리 사용되는 해법 중 하나로, 가상 요소를 이용하여 float을 해제할 수 있습니다.
이 방법은 clearfix라고 불리며, 특히 여러 float된 요소를 포함하는 부모 요소에 유용합니다.
예시:
.clearfix::after {
content: "";
display: table; /* 다른것도 가능 ex)block */
clear: both;
}
<div class="clearfix">
<div style="float: left;">Float된 요소입니다.</div>
<div style="float: right;">Float된 또 다른 요소입니다.</div>
</div>
clearfix 클래스를 부모 요소에 적용하면, 가상 요소가 float된 요소들 뒤에서 "clear" 역할을 수행합니다.
비교 표
| 방법 | 설명 | 장점 | 단점 |
|---|---|---|---|
clear 속성 | 다음 요소가 float된 요소를 피하도록 합니다. | 쉽게 사용할 수 있음 | 특정 요소에만 적용 가능 |
overflow 속성 | 부모 요소가 float된 자식들을 감쌀 수 있도록 합니다. | float된 요소들을 한번에 해결 | overflow에 따른 부작용이 있을 수 있음 |
clearfix | 가상 요소를 이용해 부모 요소 내 float를 해제합니다. | 다수의 float된 요소에 효과적 | 추가 CSS가 필요 |
CSS에서 float을 해제하는 방법들에 대해 알아보았습니다. 프로젝트의 요구 사항과 구조에 따라 적합한 방법을 선택하는 것이 중요합니다.