반응형 네비게이션(햄버거 메뉴) 구현
반응형 네비게이션(햄버거 메뉴 구현) → 작은 화면(모바일)에서는 긴 메뉴를 그대로 보여주기 어렵기 때문에 햄버거 버튼을 눌렀을 때 메뉴가 열리고 닫히는 방식을 많이 사용함. 핵심은 CSS로 메뉴를 숨기고, JavaScript로 토글하는 구조임.
<nav class="nav">
<div class="logo">LOGO</div>
<button class="toggle">☰</button>
<ul class="menu">
<li><a href="#">홈</a></li>
<li><a href="#">서비스</a></li>
<li><a href="#">문의</a></li>
</ul>
</nav>
.nav { display:flex; justify-content:space-between; align-items:center; background:#333; color:#fff; padding:10px; }
.menu { display:flex; list-style:none; gap:20px; }
.menu li a { color:#fff; text-decoration:none; }
.toggle { display:none; background:none; border:none; font-size:24px; color:#fff; }
/* 모바일 */
@media (max-width:768px) {
.menu { display:none; flex-direction:column; background:#444; padding:10px; }
.menu.active { display:flex; }
.toggle { display:block; }
}
const toggle = document.querySelector(".toggle");
const menu = document.querySelector(".menu");
toggle.addEventListener("click", ()=> menu.classList.toggle("active"));
이 코드는 PC에서는 가로형 메뉴, 모바일에서는 햄버거 버튼으로 전환됨. 버튼을 누르면 메뉴가 슬라이드처럼 열리고 닫힘. 실무 팁으로는 CSS transition을 추가해 애니메이션 효과를 주거나, aria-expanded 속성을 활용해 접근성까지 보강하면 더 완성도 높은 반응형 네비게이션을 만들 수 있음.
<nav class="nav">
<div class="logo">LOGO</div>
<button class="toggle">☰</button>
<ul class="menu">
<li><a href="#">홈</a></li>
<li><a href="#">서비스</a></li>
<li><a href="#">문의</a></li>
</ul>
</nav>
.nav { display:flex; justify-content:space-between; align-items:center; background:#333; color:#fff; padding:10px; }
.menu { display:flex; list-style:none; gap:20px; }
.menu li a { color:#fff; text-decoration:none; }
.toggle { display:none; background:none; border:none; font-size:24px; color:#fff; }
/* 모바일 */
@media (max-width:768px) {
.menu { display:none; flex-direction:column; background:#444; padding:10px; }
.menu.active { display:flex; }
.toggle { display:block; }
}
const toggle = document.querySelector(".toggle");
const menu = document.querySelector(".menu");
toggle.addEventListener("click", ()=> menu.classList.toggle("active"));
이 코드는 PC에서는 가로형 메뉴, 모바일에서는 햄버거 버튼으로 전환됨. 버튼을 누르면 메뉴가 슬라이드처럼 열리고 닫힘. 실무 팁으로는 CSS transition을 추가해 애니메이션 효과를 주거나, aria-expanded 속성을 활용해 접근성까지 보강하면 더 완성도 높은 반응형 네비게이션을 만들 수 있음.
게시판 목록
퍼블리싱강좌
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 298 | CSS |
선택과집중
|
1개월 전 | 147 | |
| 297 | CSS |
선택과집중
|
3개월 전 | 351 | |
| 296 | CSS |
선택과집중
|
3개월 전 | 298 | |
| 295 | CSS |
선택과집중
|
3개월 전 | 277 | |
| 294 | CSS |
선택과집중
|
3개월 전 | 403 | |
| 293 | CSS |
선택과집중
|
4개월 전 | 339 | |
| 292 | CSS |
선택과집중
|
4개월 전 | 270 | |
| 291 | CSS |
선택과집중
|
4개월 전 | 279 | |
| 290 | CSS |
선택과집중
|
4개월 전 | 318 | |
| 289 | CSS |
선택과집중
|
4개월 전 | 294 | |
| 288 | CSS |
선택과집중
|
4개월 전 | 382 | |
| 287 | CSS |
선택과집중
|
4개월 전 | 335 | |
| 286 | CSS |
선택과집중
|
5개월 전 | 335 | |
| 285 | CSS |
선택과집중
|
5개월 전 | 352 | |
| 284 | CSS |
선택과집중
|
5개월 전 | 240 | |
| 283 | CSS |
|
2년 전 | 1511 | |
| 282 | CSS | 2년 전 | 2486 | ||
| 281 | CSS | 4년 전 | 4016 | ||
| 280 | CSS | 4년 전 | 4543 | ||
| 279 | 반응형웹 | 5년 전 | 2973 | ||
| 278 | 반응형웹 | 5년 전 | 2814 | ||
| 277 | 부트스트랩 | 7년 전 | 5016 | ||
| 276 | 부트스트랩 | 7년 전 | 6570 | ||
| 275 | 부트스트랩 | 7년 전 | 4651 | ||
| 274 | 부트스트랩 | 7년 전 | 6684 | ||
| 273 | 부트스트랩 | 7년 전 | 3353 | ||
| 272 | 부트스트랩 | 7년 전 | 3194 | ||
| 271 | 부트스트랩 | 7년 전 | 3692 | ||
| 270 | 부트스트랩 | 7년 전 | 3215 | ||
| 269 | 부트스트랩 | 7년 전 | 3086 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기