Ch.5 Flexbox — 한 줄 레이아웃의 마법

정렬의 달인 되기

align-items로 교차축 정렬을 제어할 수 있다flex-wrap으로 줄바꿈을 허용할 수 있다flex-grow, flex-shrink의 역할을 이해한다

세로 가운데 정렬, CSS 최대 난제를 한 줄로?

웹 개발자를 수년간 괴롭힌 '세로 가운데 정렬'이 Flexbox에서는 align-items: center 단 한 줄로 해결됩니다.

아이템 크기가 다르거나 화면이 좁으면 어떻게 되지?

align-items, flex-wrap, gap — 교차축 정렬, 줄바꿈, 간격까지 마스터합시다.


article

핵심 내용

교차축 정렬과 간격 — Flexbox의 나머지 절반

.container {
  display: flex;

  /* 교차축(cross axis) 정렬 */
  align-items: stretch;      /* 늘려서 채움 (기본) */
  align-items: flex-start;   /* 위쪽 정렬 */
  align-items: center;       /* 세로 가운데! */
  align-items: flex-end;     /* 아래쪽 정렬 */

  /* 아이템 간 간격 */
  gap: 16px;                 /* 행·열 동일 간격 */
  row-gap: 16px;             /* 행 간격만 */
  column-gap: 8px;           /* 열 간격만 */
}

완벽한 가운데 정렬 공식 (가로 + 세로 동시): `display: flex; justify-content: center; align-items: center;` 이 세 줄이면 어떤 요소든 부모 안에서 정중앙에 놓입니다.

줄바꿈과 비율 — 유연한 레이아웃의 비밀

.container {
  display: flex;
  flex-wrap: wrap;   /* 넘치면 다음 줄로 */
  gap: 12px;
}

/* flex-grow: 남는 공간을 얼마나 차지할지 */
.sidebar { flex-grow: 1; }  /* 1 비율 */
.main    { flex-grow: 3; }  /* 3 비율 — 3배 넓음 */

/* flex 단축 속성 (grow shrink basis) */
.item { flex: 1; }          /* flex: 1 0 0% 과 동일 */

아바타와 텍스트가 나란히 있는 프로필 카드를 만들어봅시다

Flexbox에서 교차축(세로) 가운데 정렬을 하는 속성은?

Flex 아이템이 컨테이너 너비를 넘칠 때 다음 줄로 보내려면 flex-___: wrap을 사용한다

align-items는 주축(main axis) 방향으로 정렬한다

Flexbox 정렬 마스터!

key

핵심 용어

↩️

flex-wrap

nowrap(기본) / wrap(줄바꿈 허용)

📈

flex-grow

남는 공간 차지 비율 (기본 0 = 안 늘어남)

📉

flex-shrink

공간 부족 시 줄어드는 비율 (기본 1)

📐

flex-basis

아이템 기본 크기 (width 대신 사용)

edit_note

정리 노트

정렬의 달인 되기

정렬 속성

justify-content
주축 방향 정렬 (가로 배치 시 좌우 정렬)
align-items
교차축 방향 정렬 (가로 배치 시 상하 정렬)
gap
flex 아이템 사이의 간격을 지정

자주 쓰는 값

center
가운데 정렬 — 가장 많이 사용
space-between
양 끝 붙이고 균등 분배
flex-wrap: wrap
공간 부족 시 자동 줄바꿈

가로세로 완전 가운데: display: flex + justify-content: center + align-items: center

check_circle

핵심 정리

  • 1align-items: center → 교차축(세로) 가운데 정렬
  • 2flex-wrap: wrap → 넘치면 다음 줄로 이동
  • 3flex-grow로 남는 공간을 비율대로 분배

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작