[CSS ] 05. Flexbox 레이아웃
1. Flexbox란?
Flexbox는 요소들을 한 방향(가로 또는 세로)으로 정렬하고 배치하기 위한 레이아웃 방식이다.
부모 요소에 flex 속성을 적용하여 자식 요소들의 정렬과 간격을 제어한다.
2. Flexbox 기본 구조
Flexbox는 컨테이너와 아이템으로 구성된다.
.container {
display: flex;
}
- flex 컨테이너 : display: flex가 적용된 부모 요소
- flex 아이템 : 컨테이너 내부의 자식 요소
3. 주축(Main Axis)과 교차축(Cross Axis)
Flexbox는 두 개의 축을 기준으로 동작한다.
- 주축(Main Axis) : 요소가 배치되는 기본 방향
- 교차축(Cross Axis) : 주축과 수직인 방향
4. flex-direction
주축의 방향을 설정한다.
.container {
flex-direction: row;
}
- row : 가로 방향 (기본값)
- row-reverse : 가로 역방향
- column : 세로 방향
- column-reverse : 세로 역방향
5. justify-content
주축을 기준으로 아이템을 정렬한다.
.container {
justify-content: center;
}
- flex-start
- flex-end
- center
- space-between
- space-around
- space-evenly
6. align-items
교차축을 기준으로 아이템을 정렬한다.
.container {
align-items: center;
}
- stretch (기본값)
- flex-start
- flex-end
- center
- baseline
7. flex-wrap
아이템이 한 줄에 다 들어가지 않을 경우의 처리 방식이다.
.container {
flex-wrap: wrap;
}
- nowrap : 줄바꿈 없음 (기본값)
- wrap : 줄바꿈 허용
- wrap-reverse : 역방향 줄바꿈
8. align-content
여러 줄이 있을 때 교차축 기준으로 줄 전체를 정렬한다.
.container {
align-content: space-between;
}
9. flex 아이템 속성
1) flex-grow
남는 공간을 얼마나 차지할지 비율로 설정한다.
.item {
flex-grow: 1;
}
2) flex-shrink
공간이 부족할 때 줄어드는 비율을 설정한다.
.item {
flex-shrink: 1;
}
3) flex-basis
아이템의 기본 크기를 설정한다.
.item {
flex-basis: 100px;
}
4) flex (단축 속성)
.item {
flex: 1 1 100px;
}
10. 정리
- Flexbox는 한 방향 레이아웃에 적합하다
- 컨테이너와 아이템 개념이 중요하다
- 주축과 교차축 개념을 이해해야 한다
- 정렬과 간격 제어가 간단하다
'Computer Science > CSS' 카테고리의 다른 글
| [CSS] 07. 반응형 웹 기초 (Media Query) (0) | 2026.02.07 |
|---|---|
| [CSS ] 06. Grid 레이아웃 (0) | 2026.02.07 |
| [CSS ] 04. 레이아웃 기본 (display / position) (0) | 2026.02.07 |
| [CSS ] 03. 박스 모델(Box Model) (0) | 2026.02.07 |
| [CSS ] 02. CSS 선택자 정리 (0) | 2026.02.07 |