• 검색어를 입력해 주세요.
  • 검색어를 입력해 주세요.
디자인키트 0
블로그 전체목록
화살표

보고계신 기능이 적용된
템플릿이에요!

HTML소스를 구매하시면
전체 소스를 활용하실 수 있어요!

  • 템플릿을 찾지 못했어요!

400여개 디자인

더 많은 템플릿 보기

아코디언 메뉴 구현 방법 총정리: CSS height vs jQuery slideDown 비교

CSS 25.10.01 조회 26

아코디언 메뉴 구현 방법 총정리 | CSS height vs jQuery slideDown 비교

웹에서 FAQ, 메뉴, 콘텐츠 영역 등을 효율적으로 보여주기 위해 많이 사용하는 UI 패턴 중 하나가 아코디언 메뉴입니다. 

아코디언 메뉴는 클릭 또는 터치 시 하위 내용을 펼치거나 접는 방식으로, 

화면 공간을 절약하고 사용자가 필요한 정보만 선택적으로 확인할 수 있다는 장점이 있습니다.

이번 글에서는 CSS height 기반 방법과 jQuery slideDown/slideUp 방법을 비교하고, 구현 팁까지 함께 소개합니다.


➰➰➰


✅ 아코디언 메뉴란?
✔ 클릭 시 콘텐츠가 펼쳐지고 접히는 UI 구성 요소
FAQ, 내비게이션, 목록형 콘텐츠 등에서 활용도 높음

✅ 아코디언 메뉴의 장점은 무엇인가요?
✔ 공간 절약 및 UX 향상
✔ 사용자가 필요한 정보만 선택적으로 확인 가능


✏️ HTML 구조는 이렇게 생겼어요
✔ 펼쳐지는 콘텐츠에는 class 토글(스크립트 활용)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<ul class="accordion">
  <li>
    <button>메뉴 1</button>
    <div class="content">
      <p>메뉴 1의 내용입니다. 내용 길이에 따라 높이가 자동으로 조절됩니다.</p>
    </div>
  </li>
  <li>
    <button>메뉴 2</button>
    <div class="content">
      <p>메뉴 2의 내용입니다. 여러 줄의 텍스트도 자연스럽게 펼쳐집니다.</p>
    </div>
  </li>
  <li>
    <button>메뉴 3</button>
    <div class="content">
      <p>메뉴 3의 내용입니다. 필요하면 이미지나 다른 요소도 포함할 수 있습니다.</p>
    </div>
  </li>
</ul> 
 
<script>
document.querySelectorAll('.accordion button').forEach(btn => {
    btn.addEventListener('click', () => {
        const li = btn.parentElement;
        li.classList.toggle('open');
    });
});
</script>
cs


✏️ CSS height 기반 아코디언 메뉴 구현 방법
✔ 동작 원리: 높이를 0 → max-content로 변경하며 transition 적용
✔ 장점: 반응형, 가벼운 코드, 최근 트렌드에 적합
1
2
3
4
5
6
7
8
body{font-family: Arial, sans-serif;padding: 40px;background:#f5f5f5}
ul, li, ol{list-style:none}
.accordion{padding: 0;margin: 0;max-width: 400px;}
.accordion li{border: 1px solid #ccc;margin-bottom: 10px;border-radius: 5px;overflow: hidden}
.accordion button {width: 100%;padding: 15px;text-align: left;background: #f5f5f5;border: none;cursor: pointer;font-size: 16px;outline: none;}
.accordion button:hover {background: #e0e0e0;}
.accordion .content {height: 0;overflow: hidden;padding: 0 15px;background: #fff;transition: height 0.3s ease, padding 0.3s ease;}
.accordion li.open .content {height: max-content;padding: 15px;}
cs


✏️ jQuery slideDown/slideUp 기반 아코디언 메뉴 구현 방법
✔ 동작 원리: jQuery가 높이를 자동 계산해 애니메이션 처리
✔ css로 콘텐츠 영역을 display:none 초기상태 지정해야 닫힌 상태에서 애니메이션 시작
✔ 장점: 동적 콘텐츠 대응, 레거시 프로젝트에 유용

See the Pen jquery 아코디언 메뉴 구현 by designkits (@designkits) on CodePen.


➰➰➰

 
CSS height + transition 아코디언 메뉴는 내용 길이에 유동적으로 대응하며 반응형 구현도 자연스럽습니다.
필요에 따라 jQuery slideDown/slideUp을 활용하면 레거시 프로젝트나 빠른 프로토타입에서도 효율적으로 구현할 수 있습니다.
아코디언 메뉴는 FAQ, 내비게이션 등에서 활용되며, 저희 디자인 키트에서 다양한 템플릿으로 확인하실 수 있습니다.


블로그 전체목록
디자인키트 카카오상담