본문 바로가기
카테고리 없음

Flexbox 실전 활용법 3가지 — 광고·본문·사이드바를 코드 한 줄로 정렬하는 법

by BOOST YOUR INFORMATION 2026. 4. 16.

 

Flexbox 실전 활용법 3가지 — 광고·본문·사이드바를 코드 한 줄로 정렬하는 법 참고이미지
광고·본문·사이드바를 코드 한 줄로 정렬하는 법

Flexbox 실전 활용법 3가지 — 광고·본문·사이드바를 코드 한 줄로 정렬하는 법

"Flexbox" 속성 하나면 광고 영역, 본문, 사이드바를 한 줄로 나란히 정렬하는 게 진짜로 된다. 예전에 float: left, float: right 쓰다가 clearfix 빠트려서 레이아웃 다 무너진 경험이 있는 사람이라면, Flexbox가 얼마나 편한 도구인지 바로 체감할 거다. 건물로 치면 설계도 없이 벽돌 쌓던 걸 이제 레고 블록으로 바꾼 느낌이랄까.

 

📋목차

  • Flexbox가 뭔지 딱 두 줄로 정리
  • 광고 + 본문 + 사이드바 3단 레이아웃 만들기
  • 주축과 교차축 — 헷갈리는 개념 한 번에 잡기
  • 정렬 속성 핵심 5개만 외우면 된다
  • 애드센스 광고 공간 Flexbox로 잡는 실전 코드
  • 모바일에서 세로로 쌓이게 만드는 법
  • Flexbox vs Grid — 언제 뭘 써야 하나
  • 정리

📐 Flexbox가 뭔지 딱 두 줄로 정리

"Flexbox"는 Flexible Box Layout의 줄임말이다. 부모 요소에 display: flex 하나만 써도 자식 요소들이 자동으로 가로로 나열된다. 세로 정렬, 간격 균등 배분, 크기 비율 조정을 모두 CSS 몇 줄로 처리할 수 있다. 2019년 이후 IE 걱정만 없다면 실무에서 가장 쓰기 편한 레이아웃 도구다.

🏗️ 광고 + 본문 + 사이드바 3단 레이아웃 만들기

가장 많이 쓰이는 블로그 레이아웃 구조부터 바로 보자.

<div class="page-wrapper">
  <aside class="ad-left">광고 영역</aside>
  <main class="content">본문</main>
  <aside class="sidebar">사이드바</aside>
</div>
.page-wrapper {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.ad-left {
  width: 160px;
  flex-shrink: 0;
}

.content {
  flex: 1;
}

.sidebar {
  width: 300px;
  flex-shrink: 0;
}

flex: 1은 "남은 공간을 전부 가져가라"는 뜻이다. 광고와 사이드바는 너비를 고정하고 flex-shrink: 0으로 줄어들지 않게 막는다. 본문은 그 사이 공간을 알아서 채운다. 이게 "Flexbox" 레이아웃의 핵심 패턴이다.

↔️ 주축과 교차축 — 헷갈리는 개념 한 번에 잡기

Flexbox는 방향이 중요하다. flex-direction: row(기본값)면 가로가 주축, 세로가 교차축이다. flex-direction: column으로 바꾸면 세로가 주축이 된다.

justify-content는 주축 정렬, align-items는 교차축 정렬이다. 이 두 개만 확실히 알면 왜 내 의도대로 정렬이 안 되는지 헷갈리는 일이 확 줄어든다. 나도 이 개념 잡기 전까지 justify랑 align 계속 반대로 썼다.

🎯 정렬 속성 핵심 5개만 외우면 된다

아래 5개가 실무에서 90%를 차지한다.

  • justify-content: space-between — 양쪽 끝 붙이고 나머지 균등 배분
  • justify-content: center — 가운데 정렬
  • align-items: center — 교차축 기준 세로 가운데
  • align-items: flex-start — 교차축 기준 위쪽 정렬 (사이드바 상단 고정에 필수)
  • flex-wrap: wrap — 공간이 부족하면 자동으로 다음 줄로 넘김

특히 사이드바를 다룰 때 align-items: flex-start를 빠트리면 사이드바가 본문 높이에 맞춰 늘어난다. 광고 영역이 본문 길이만큼 쭉 늘어나는 이상한 현상이 바로 이 때문이다.

💡 애드센스 광고 공간 Flexbox로 잡는 실전 코드

애드센스 광고는 정해진 크기가 있어서 컨테이너 크기가 광고보다 작으면 잘린다. "Flexbox"로 공간을 먼저 확보해두면 이 문제를 방지할 수 있다.

.ad-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 250px;
  width: 100%;
  overflow: hidden;
}

min-height로 최소 높이를 보장하면 광고 로딩 전에 레이아웃이 흔들리는 CLS(Cumulative Layout Shift) 문제도 줄어든다.

이건 애드센스 승인에도 영향을 주는 부분이라 챙겨야 한다.

📱 모바일에서 세로로 쌓이게 만드는 법

@media (max-width: 768px) {
  .page-wrapper {
    flex-direction: column;
  }

  .ad-left,
  .sidebar {
    width: 100%;
  }
}

flex-direction: column으로 바꾸는 것만으로 가로 3단 레이아웃이 세로 단일 컬럼으로 전환된다. 이게 "Flexbox" 반응형 처리의 가장 간단한 방법이다. 자식 요소 너비도 width: 100%로 풀어줘야 꽉 채워진다.

⚖️ Flexbox vs Grid — 언제 뭘 써야 하나

단순하게 정리하면: 한 줄(가로 또는 세로) 정렬은 Flexbox, 행과 열 동시 제어는 Grid다. 헤더 내비게이션, 버튼 그룹, 카드 한 줄 정렬은 Flexbox가 적합하다. 전체 페이지 레이아웃이나 카드 여러 줄 배열은 Grid가 더 적합하다. 현실에서는 둘을 혼합해서 쓰는 경우가 대부분이다. Grid로 전체 틀을 잡고, 각 컴포넌트 내부는 Flexbox로 정렬하는 방식이 가장 흔한 패턴이다.

✅ 정리

"Flexbox"는 한번 손에 익으면 다시는 float으로 돌아가고 싶지 않게 만드는 도구다. 광고 영역, 본문, 사이드바 3단 레이아웃도 결국 display: flex와 flex 비율 조정 몇 줄이면 해결된다. 모바일 대응도 flex-direction 하나로 처리되니 코드도 깔끔하다. 지금 당장 개발자 도구 열고 내 블로그 레이아웃 클래스에 display: flex 넣어보는 것부터 시작해봐라. 생각보다 훨씬 빠르게 감이 온다.


참고 자료 및 출처


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 ⚡ 정보 부스터 🚀