반응형 네비게이션(햄버거 메뉴 구현) → 작은 화면(모바일)에서는 긴 메뉴를 그대로 보여주기 어렵기 때문에 햄버거 버튼을 눌렀을 때 메뉴가 열리고 닫히는 방식을 많이 사용함. 핵심은 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 속성을 활용해 접근성까지 보강하면 더 완성도 높은 반응형 네비게이션을 만들 수 있음.
게시글 목록
| 번호 | 제목 |
|---|---|
| 1418 |
부트스트랩
애니메이션 경고
|
| 1417 |
부트스트랩
경고 닫기
|
| 1416 |
부트스트랩
알림 링크
|
| 1414 |
부트스트랩
부트 스트랩 경고
2
|
| 1413 |
부트스트랩
부트 스트랩 웰스
|
| 1412 | |
| 1411 |
부트스트랩
응답 성있는 삽입
|
| 1410 |
부트스트랩
이미지 갤러리
|
| 1409 |
부트스트랩
반응 형 이미지
|
| 1408 |
부트스트랩
부트 스트랩 이미지 - 미리보기 이미지
|
| 1407 |
부트스트랩
부트 스트랩 이미지 - 원
|
| 1406 | |
| 1405 |
부트스트랩
반응 형 테이블
|
| 1404 |
부트스트랩
문맥 분류
|
| 1403 |
부트스트랩
요약 표
|
| 1402 |
부트스트랩
호버 행
|
| 1401 |
부트스트랩
테두리가있는 표
|
| 1400 |
부트스트랩
부트 스트랩 스트라이프 행
|
| 1399 |
부트스트랩
부트 스트랩 기본 테이블
|
| 1398 |
부트스트랩
부트 스트랩은 HTML <pre>요소
|
| 1397 |
부트스트랩
부트 스트랩은 HTML <kbd>요소
|
| 1396 |
부트스트랩
부트 스트랩은 HTML <code>요소
|
| 1395 |
부트스트랩
부트 스트랩은 HTML <dl>요소
|
| 1394 |
부트스트랩
<blockquote>
|
| 1393 |
부트스트랩
<abbr>
|
| 1392 |
부트스트랩
<mark>
|
| 1391 |
부트스트랩
<small>
|
| 1390 |
부트스트랩
부트 스트랩 텍스트 / 타이포그래피
|
| 1389 |
부트스트랩
2 개의 서로 다른 열
|
| 1388 |
부트스트랩
3 개의 동일한 열
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기