Ch.5 Flexbox — 한 줄 레이아웃의 마법
내비게이션 바 만들기
Flexbox로 실전 내비게이션 바를 구현할 수 있다로고와 메뉴를 양쪽 끝에 배치할 수 있다hover 효과와 현재 페이지 표시를 적용할 수 있다
모든 웹사이트 상단에 있는 내비게이션 바를 만들어볼까요?
내비게이션 바(navbar)는 웹사이트의 얼굴입니다. 로고는 왼쪽, 메뉴는 오른쪽 — 이 배치가 Flexbox 하나로 가능합니다.
로고와 메뉴 사이의 공간은 어떻게 벌릴까?
space-between + align-items: center — 실전에서 가장 많이 쓰는 Flexbox 조합을 활용합시다.
article
핵심 내용
내비게이션 바의 기본 구조를 이해합시다
<!-- 내비게이션 바 HTML 구조 -->
<nav class="navbar">
<div class="logo">JIT</div>
<ul class="nav-links">
<li><a href="#" class="active">홈</a></li>
<li><a href="#">강의</a></li>
<li><a href="#">대시보드</a></li>
<li><a href="#">프로필</a></li>
</ul>
</nav>nav.navbar: Flex 컨테이너 (전체 너비)
.logo: 왼쪽 — 브랜드 로고
space-between: 가운데 — 자동 여백
.nav-links: 오른쪽 — 메뉴 리스트 (내부도 flex)
두 겹의 Flexbox — nav도 flex, ul도 flex
/* 1단계: 전체 바 — 로고와 메뉴를 양쪽 끝으로 */
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 24px;
height: 56px;
background: #1A1A2E;
}
/* 2단계: 메뉴 리스트 — 링크들을 가로로 */
.nav-links {
display: flex;
gap: 24px;
list-style: none;
margin: 0;
padding: 0;
}Flex 중첩 패턴: 부모(.navbar)도 flex, 자식(.nav-links)도 flex 이 패턴은 실무에서 매우 자주 사용됩니다. 각 flex 컨테이너는 독립적으로 정렬을 제어합니다.
내비게이션 바 CSS를 직접 완성해봅시다
로고는 왼쪽, 메뉴는 오른쪽에 배치하려면 어떤 속성을 사용하는가?
Flex 컨테이너 안에 또 다른 Flex 컨테이너를 넣을 수 있다
다음 중 flex 자식 요소가 남은 공간을 채우도록 하는 속성은?
Flexbox 마스터!
edit_note
정리 노트
내비게이션 바 만들기
내비게이션 구조
- <nav>
- 내비게이션 영역을 나타내는 시맨틱 태그
- ul + li + a
- 목록 기반 내비게이션이 표준 패턴
- list-style: none
- 기본 글머리 기호 제거
Flexbox 활용
- space-between
- 로고와 메뉴를 양쪽 끝에 배치
- align-items: center
- 메뉴 항목을 세로 가운데 정렬
★
nav > ul > li > a 패턴은 모든 웹사이트의 기본 내비게이션 구조입니다.
check_circle
핵심 정리
- 1Navbar = 두 겹 flex (nav + ul 모두 display: flex)
- 2space-between으로 로고↔메뉴 양쪽 끝 배치
- 3a:hover와 .active로 현재 페이지 표시
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작