float
float은 레이아웃을 잡는 데에 많이 사용되던 속성이다.
요즘에는 flex 속성을 기반으로 하여 레이아웃을 잡는 경우가 훨씬 많기 때문에 float은 자주 사용되지 않고 있다.
위 이미지는 float: right를 적용한 그림이다.
이처럼 float은 부모 컨테이너 안에서 float을 적용한 자식 요소를 left, right, none의 값을 통해 배치할 수 있다.
none
- default값으로 아무런 float속성값을 할당하지 않는다.
left
- 적용한 요소를 왼쪽으로 배치한다.
right
- 적용한 요소를 오른쪽으로 배치한다.
float 속성을 가진 요소는 부모가 높이를 인지할 수 없다!
그렇기 때문에 float속성을 지정하게 되면 부모 요소를 벗어나게 된다.
이를 위한 해결방법이 몇가지 있다.
-
부모 요소(감싸고 있는 컨테이너)의 마지막에 아무런 태그를 넣고 clear 속성(none, left, right, both)을 적용한다.
-
부모 요소의 css 속성 값에 overflow: hidden; 속성을 적용한다
-
부모 요소도 float속성을 적용한다. (부모 요소의 block성질이 사라지게 된다.)
See the Pen float by JAEWOOKJUNG (@JAEWOOKJUNG) on CodePen.
*codepen의 result 크기를 0.5x로 보고 확인
*codepen 예제에서는 위 해결방법 중 1,2번을 구현하였다. (주석처리를 풀고 확인가능)
참고
developer.mozilla.org/ko/docs/Web/CSS/float
float - CSS: Cascading Style Sheets | MDN
CSS 속성(property) float 은 한 요소(element)가 보통 흐름(normal flow)으로부터 빠져 텍스트 및 인라인(inline) 요소가 그 주위를 감싸는 자기 컨테이너의 좌우측을 따라 배치되어야 함을 지정합니다. The so
developer.mozilla.org
developer.mozilla.org/ko/docs/Web/CSS/clear
clear - CSS: Cascading Style Sheets | MDN
clear CSS 속성은 요소가 선행 부동(floating) 요소 다음일 수 있는지 또는 그 아래로 내려가(해제되어(cleared))야 하는 지를 지정합니다. clear 속성은 부동 및 비부동 요소 모두에 적용됩니다. The source f
developer.mozilla.org
'개발 > CSS' 카테고리의 다른 글
transform 애니메이션이 성능이 더 좋은 이유 (0) | 2024.07.04 |
---|---|
display속성(block, inline, inine-block) (0) | 2021.02.16 |
postion 속성 (0) | 2021.02.16 |
grid (0) | 2021.01.13 |
flexbox (0) | 2021.01.11 |