내비게이션 바에서 공간을 절약하면서 여러 메뉴 항목을 깔끔하게 정리하고 싶다면 '더보기(More)' 버튼이 유용합니다. 이 글에서는 JavaScript 없이 CSS의 :hover 선택자만 활용해, 마우스를 올리면 드롭다운 메뉴가 펼쳐지는 더보기 버튼을 만드는 방법을 알아보겠습니다.
전체 예제 코드
다음은 내비게이션 바 안에 더보기 버튼과 드롭다운 메뉴를 구현한 전체 코드입니다.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
body{
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.menu-btn {
background-color: #040008;
color: white;
padding: 16px;
font-size: 34px;
font-weight: bolder;
border: none;
}
.dropdown-menu {
position: relative;
display: inline-block;
}
.menu-content {
display: none;
position: absolute;
background-color: #017575;
min-width: 160px;
z-index: 1;
}
nav{
background-color: #017575;
}
.links,.links-hidden{
display: inline-block;
color: rgb(255, 255, 255);
padding: 12px 16px;
text-decoration: none;
font-size: 24px;
font-weight: bold;
}
.links-hidden{
display: block;
}
.links{
display: inline-block;
}
.links-hidden:hover,.links:hover {
background-color: rgb(8, 107, 46);
}
.dropdown-menu:hover .menu-content {
display: block;
}
.dropdown-menu:hover .menu-btn {
background-color: #3e8e41;
}
</style>
</head>
<body>
<h1>내비게이션 바 안의 더보기 버튼 예제</h1>
<nav>
<a class="links" href="#">HOME</a>
<a class="links" href="#">EMPLOYEES</a>
<a class="links" href="#">CAREER</a>
<div class="dropdown-menu">
<button class="menu-btn">More <i class="fa fa-caret-down"></i></button>
<div class="menu-content">
<a class="links-hidden" href="#">Contact Us</a>
<a class="links-hidden" href="#">Visit Us</a>
<a class="links-hidden" href="#">About Us</a>
</div>
</div>
</nav>
</body>
</html>
출력 결과
위 코드를 브라우저에서 실행하면 다음과 같은 화면이 출력됩니다.

'더보기' 버튼 위에 마우스 커서를 올리면(hover), 숨겨져 있던 드롭다운 메뉴가 아래와 같이 펼쳐집니다.

동작 원리
이 더보기 버튼이 작동하는 핵심 원리는 다음과 같습니다.
- .menu-btn — 배경색, 패딩, 폰트 크기 등을 지정해 버튼의 기본 스타일을 정의합니다.
- .menu-content — 평소에는
display: none;으로 숨겨져 있으며,position: absolute;덕분에 버튼 아래에 겹쳐 배치됩니다. - .dropdown-menu:hover .menu-content — 부모 요소에 마우스를 올리면
display: block;으로 전환되어 드롭다운 메뉴가 나타납니다. - .links-hidden:hover — 드롭다운 내 개별 링크에 마우스를 올리면 배경색이 변해 시각적인 피드백을 제공합니다.
이처럼 CSS의 hover 효과만으로도 클릭 이벤트 없이 인터랙티브한 드롭다운 메뉴를 손쉽게 구현할 수 있습니다. 별도의 라이브러리나 스크립트가 필요 없어 로딩 속도에 부담이 적고, 간단한 웹사이트나 학습용 프로젝트에 활용하기에 특히 좋습니다.