일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- c++
- react
- 확률
- Javascript
- CSS
- grid
- spring
- 포토샵
- skt membership
- 수학
- Codility
- stl
- 미디어 쿼리
- 통신사할인
- REM
- JSX
- 상태
- c
- transform
- SK바이오사이언스
- Gap
- 알고리즘
- 강화학습
- 반응형 웹
- pandas
- 백준
- 소수
- box-sizing
- Photoshop
- float
Archives
- Today
- Total
sliver__
Flexbox란 무엇인가? 본문
728x90
Flexbox는 **일차원 레이아웃(one-dimensional layout)**을 위해 설계된 관련 CSS 속성들의 집합으로, 컨테이너 내부의 빈 공간을 자식 요소들이 자동으로 분배하도록 돕습니다.
원래 핵심 목표는 개발자가 일일이 너비나 마진을 계산하지 않아도 되도록, 브라우저가 컨테이너 안의 빈 공간을 자식 요소들에 알아서 나눠주게 하는 것이었습니다.
또한 Flexbox는 **가로·세로 정렬(horizontal & vertical alignment)**을 매우 간단하게 처리할 수 있는데, 이는 기존 CSS에서는 까다로웠던 수직 중앙 정렬이나 동일 높이 컬럼(equal-height columns) 문제를 손쉽게 해결해 줍니다.
결과적으로 구식 float 기반 레이아웃을 대체하고, 더 간결하고 유지보수하기 쉬운 HTML/CSS 코드를 작성할 수 있게 해 줍니다.
중요한 용어 정리
- Flex Container: display: flex 또는 display: inline-flex가 적용된 부모 요소
- Flex Items: 위 컨테이너의 직속 자식 요소들
- Main Axis: flex-direction으로 정의된 주(主) 축
- Cross Axis: 주 축에 수직인 축
Flex Container에 적용 가능한 주요 속성
- display: flex
Flexbox 레이아웃을 활성화하는 시작점 - gap
Flex 아이템 사이의 간격을 정의 - justify-content
주 축(main axis) 상에서 아이템 정렬 (예: center, space-between)\ - align-items
교차 축(cross axis) 상에서 아이템 정렬 (예: center, stretch) - flex-direction
주 축의 방향 설정 (예: row, column) - flex-wrap
아이템이 줄 바꿈될지 여부 지정 - align-content
여러 줄의 교차 축 정렬 방식 정의
.container {
display: flex;
gap: 20px; /* 아이템 간 간격 */
justify-content: center; /* 주 축 중앙 정렬 */
align-items: center; /* 교차 축 중앙 정렬 */
}
Flex Items에 적용 가능한 주요 속성
- align-self
개별 아이템의 교차 축 정렬을 컨테이너(align-items)와 별도로 조정 - flex
flex-grow, flex-shrink, flex-basis의 단축(shorthand) 속성으로, 아이템 크기 비율 및 기본 크기 설 - order
시각적 표시 순서를 변경하되, HTML 소스 순서는 그대로 유지
.item {
flex: 1; /* grow:1, shrink:1, basis:0 */
order: 2; /* 두 번째 위치로 표시 */
}
728x90
'Frontend > CSS' 카테고리의 다른 글
Flex 아이템 크기 조절의 기본: flex 속성 (0) | 2025.05.03 |
---|---|
Flexbox 실습: 정렬과 간격 다루기 (0) | 2025.05.03 |
Flexbox 기초 실습 시작하기 (0) | 2025.05.03 |
기본 박스 모델에서 벗어나기 – box-sizing: border-box 완전 정복 (0) | 2025.05.02 |
CSS - 간단한 2단 레이아웃(float) 완성하기! (0) | 2025.05.02 |
Comments