2026, 새로운 도약을 시작합니다.

반응형 네비게이션(햄버거 메뉴) 구현

· 3개월 전 · 316
반응형 네비게이션(햄버거 메뉴 구현) → 작은 화면(모바일)에서는 긴 메뉴를 그대로 보여주기 어렵기 때문에 햄버거 버튼을 눌렀을 때 메뉴가 열리고 닫히는 방식을 많이 사용함. 핵심은 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 속성을 활용해 접근성까지 보강하면 더 완성도 높은 반응형 네비게이션을 만들 수 있음.
|

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

퍼블리싱강좌

번호 분류 제목 글쓴이 날짜 조회
302 CSS 2주 전 조회 34
301 CSS 1개월 전 조회 102
300 CSS 1개월 전 조회 186
299 CSS 3개월 전 조회 194
298 CSS 3개월 전 조회 317
297 CSS 4개월 전 조회 442
296 CSS 4개월 전 조회 342
295 CSS 5개월 전 조회 357
294 CSS 5개월 전 조회 479
293 CSS 6개월 전 조회 418
292 CSS 6개월 전 조회 336
291 CSS 6개월 전 조회 357
290 CSS 6개월 전 조회 395
289 CSS 6개월 전 조회 370
288 CSS 6개월 전 조회 474
287 CSS 6개월 전 조회 442
286 CSS 6개월 전 조회 419
285 CSS 6개월 전 조회 421
284 CSS 7개월 전 조회 292
283 CSS 2년 전 조회 1,560
282 CSS 3년 전 조회 2,589
281 CSS 4년 전 조회 4,108
280 CSS 4년 전 조회 4,645
279 반응형웹 5년 전 조회 3,011
278 반응형웹 5년 전 조회 2,870
277 부트스트랩 8년 전 조회 5,066
276 부트스트랩
[부트스트랩]
8년 전 조회 6,655
275 부트스트랩 8년 전 조회 4,695
274 부트스트랩 8년 전 조회 6,779
273 부트스트랩 8년 전 조회 3,400
🐛 버그신고