w3.css
모바일 내비게이션 메뉴
CSS와 JavaScript를 사용하여 스마트폰/태블릿용 상단 탐색 메뉴를 만드는 방법을 알아보자.
모바일 내비게이션 메뉴 만들기
1단계) HTML 추가
<!-- Load an icon library to show a hamburger menu (bars) on small screens --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- Top Navigation Menu --> <div class="topnav"> <a href="#home" class="active">Logo</a> <!-- Navigation links (hidden by default) --> <div id="myLinks"> <a href="#news">News</a> <a href="#contact">Contact</a> <a href="#about">About</a> </div> <!-- "Hamburger menu" / "Bar icon" to toggle the navigation links --> <a href="javascript:void(0);" class="icon" onclick="myFunction()"> <i class="fa fa-bars"></i> </a> </div>
2단계) CSS 추가
/* Style the navigation menu */ .topnav { overflow: hidden; background-color: #333; position: relative; } /* Hide the links inside the navigation menu (except for logo/home) */ .topnav #myLinks { display: none; } /* Style navigation menu links */ .topnav a { color: white; padding: 14px 16px; text-decoration: none; font-size: 17px; display: block; } /* Style the hamburger menu */ .topnav a.icon { background: black; display: block; position: absolute; right: 0; top: 0; } /* Add a grey background color on mouse-over */ .topnav a:hover { background-color: #ddd; color: black; } /* Style the active link (or home/logo) */ .active { background-color: #04AA6D; color: white; }
기본 예시
예제 보기3단계) 자바스크립트 추가
/* Toggle between showing and hiding the navigation menu links when the user clicks on the hamburger menu / bar icon */ function myFunction() { var x = document.getElementById("myLinks"); if (x.style.display === "block") { x.style.display = "none"; } else { x.style.display = "block"; } }
기본 예시
예제 보기참고
W3C School - How TO - Mobile Navigation Menu