- 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
을 해제하는 방법들에 대해 알아보았습니다. 프로젝트의 요구 사항과 구조에 따라 적합한 방법을 선택하는 것이 중요합니다.