다단 레이아웃을 잡는 방법에 대해 살펴보다가 column을 찾게 되었다. 마치 그리드처럼 열을 설정 가능하고, 반응형으로 일부 열을 줄일 수도 있는 좋은 기능 같다.
그런데, flex나 grid와 기능과 역할이 많이 겹치는데 왜 이런 것이 있는 걸까.
- 호환성 및 구형 브라우저 지원 | column 기능은 flex나 grid가 등장하기 전에 나왔다. 초기 css의 다단 레이아웃을 잡는데 있는 역할이었고 모던 브라우저로 넘어오면서 자연스레 flex나 grid로 대체된 것으로 추측된다. 따라서 구형브라우저의 지원을 위해 사용될 수도 있다.
- 단순함 | column 기능은 설정이 간편하고 열 간에 높이를 자동으로 맞춰주려 한다.
📘 사용 방법
세 가지 속성을 사용한다.
- column-count | 열의 최대 갯수,
- column-width | 열의 최소 너비
- column-gap | 열 간의 공백
- column-count만 사용할 시, 작은 화면에서는 자식이 부모를 overflow하는 문제가 발생한다. column-width로 최소 너비를 설정해주면, 대상이 이 너비를 유지하지 못할 시 열을 줄인다.
- column-width만 사용할 시, 이 최소 너비에 맞춰서 최대한 많은 열을 생산한다.
솔직한 감상으로는 아직 어떻게 사용할지 감이 잘 안잡힌다. flex는 1차원 레이아웃에서 유용하지만 2차원에서는 wrap이 생각보다 불편하다. grid는 2차원 레이아웃을 잡을 때 유용하지만, 호환성이 우려된다. 그러면 구형 브라우저의 대체 수단 정도로만 기억하고 있자.
참조
https://developer.mozilla.org/ko/docs/Web/CSS/CSS_multicol_layout/Using_multicol_layouts
'CSS' 카테고리의 다른 글
[CSS] nav로 적당한 폰트 사이즈 디자인 (1) | 2024.02.28 |
---|---|
[CSS] inline 박스 사용 시 height, padding 미적용 문제 (0) | 2024.02.28 |
[CSS] text에 stroke 효과 넣기 (0) | 2024.02.28 |
[CSS] SVG 레이아웃 잡기 (0) | 2024.02.28 |
[CSS] backdrop-filter:blur() 사용 시 주의점 (0) | 2024.02.27 |