Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS만으로 '더보기' 버튼 만드는 방법 – 드롭다운 메뉴까지 한 번에

내비게이션 바에서 공간을 절약하면서 여러 메뉴 항목을 깔끔하게 정리하고 싶다면 '더보기(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>

출력 결과

위 코드를 브라우저에서 실행하면 다음과 같은 화면이 출력됩니다.

CSS만으로  더보기  버튼 만드는 방법 – 드롭다운 메뉴까지 한 번에

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

CSS만으로  더보기  버튼 만드는 방법 – 드롭다운 메뉴까지 한 번에

동작 원리

이 더보기 버튼이 작동하는 핵심 원리는 다음과 같습니다.

  • .menu-btn — 배경색, 패딩, 폰트 크기 등을 지정해 버튼의 기본 스타일을 정의합니다.
  • .menu-content — 평소에는 display: none;으로 숨겨져 있으며, position: absolute; 덕분에 버튼 아래에 겹쳐 배치됩니다.
  • .dropdown-menu:hover .menu-content — 부모 요소에 마우스를 올리면 display: block;으로 전환되어 드롭다운 메뉴가 나타납니다.
  • .links-hidden:hover — 드롭다운 내 개별 링크에 마우스를 올리면 배경색이 변해 시각적인 피드백을 제공합니다.

이처럼 CSS의 hover 효과만으로도 클릭 이벤트 없이 인터랙티브한 드롭다운 메뉴를 손쉽게 구현할 수 있습니다. 별도의 라이브러리나 스크립트가 필요 없어 로딩 속도에 부담이 적고, 간단한 웹사이트나 학습용 프로젝트에 활용하기에 특히 좋습니다.