Freeive

uiux·발행 2026.07.16

Flexbox, 2012년 출시, 1차원 레이아웃의 해방

CSS의 display: flex. 가로 또는 세로 한 방향으로 요소를 배치하는 레이아웃 시스템. 2012년 등장으로 float 트릭을 종말시켰습니다. 컴포넌트 내부 레이아웃의 기본입니다.

한 줄로

CSS의 display: flex. 가로 또는 세로 한 방향으로 요소를 배치하는 레이아웃 시스템입니다. 2012년 등장으로 float 트릭을 종말시켰습니다.

어디서 왔나

W3C가 2009년부터 작업을 시작했습니다. 2012년에 첫 안정 버전, 2015년경 모든 모던 브라우저에서 지원됐습니다.

이전 시대의 레이아웃 문제입니다.

수직 가운데 정렬: 거의 불가능. 수많은 트릭 (vertical-align, table-cell 흉내, transform).

동일 높이의 컬럼: 트릭이 필요했습니다.

공간 분배: 수작업 계산.

Flexbox는 이 모든 걸 단 몇 줄로 해결했습니다.

.container { display: flex; justify-content: center; align-items: center; }

이 두 줄로 자식 요소가 컨테이너의 정중앙에 옵니다. 이전에는 5~10줄의 CSS가 필요했습니다.

핵심 속성

컨테이너 (부모)

flex-direction: row 또는 column.

justify-content: 주 축 정렬.

align-items: 교차 축 정렬.

flex-wrap: 줄바꿈 허용.

gap: 자식 사이 간격.

아이템 (자식)

flex: 줄임형으로 flex-grow, flex-shrink, flex-basis 동시 설정.

align-self: 개별 정렬 재정의.

order: 순서 변경.

Grid와의 차이

Flexbox: 1차원 (한 방향).

Grid: 2차원 (행 + 열 동시).

복잡한 페이지 골격은 Grid, 메뉴, 툴바, 카드 내부는 Flexbox가 자연스럽습니다.

흔한 사용처

네비게이션 바: 로고 왼쪽, 메뉴 오른쪽.

카드 내부: 이미지 위, 텍스트 아래.

버튼 그룹: 가로로 나열.

푸터의 컬럼: 동일 너비 컬럼.

Tailwind에서

Tailwind는 Flexbox 유틸리티가 가장 풍부합니다.

<div class="flex justify-between items-center gap-4"> <div>왼쪽</div> <div>오른쪽</div> </div>

이 한 줄로 양쪽 정렬 + 세로 가운데 + 16px 간격입니다.

바이브 메이커가 챙길 한 가지

Flexbox는 거의 모든 컴포넌트 내부 레이아웃의 기본입니다. 처음 배울 때 헷갈리는 건 justify-content(주 축)와 align-items(교차 축)의 구분입니다. flex-direction이 row면 justify는 가로, align은 세로입니다. column이면 반대입니다. 이 한 가지만 익히면 90%가 풀립니다.

관련

CSS Grid · Responsive design · Tailwind

#UI/UX#용어사전#Flexbox#CSS#2012#Tailwind#레이아웃

Comments

댓글 0

로그인 상태 확인 중…

댓글 불러오는 중…

Recent

다른 일기도 같이.