HTML, CSS

HTML5 <details> 태그로 클릭 시 열리는 아코디언 만들기 – JavaScript 없이 구현하는 팁

jonbeo 2025. 8. 9. 10:32
반응형

 

 

안녕하세요 😊
웹사이트에서 자주 볼 수 있는 UI 중 하나가 바로
클릭하면 열리고 닫히는 FAQ 형태의 아코디언 메뉴입니다.

이런 기능을 대부분 JavaScript로 구현하는 경우가 많지만,
사실 HTML5의 <details> 태그만으로도 아주 간단하게 구현이 가능합니다!

오늘은 초보자 분들도 쉽게 이해할 수 있도록
<details><summary> 태그의 사용법과 함께
실전 예제까지 꼼꼼히 알려드리겠습니다.


📍 1. <details> 태그란?

  • HTML5에서 새로 추가된 태그
  • 숨겨진 내용을 클릭 시 펼쳐서 보여주는 기능
  • JavaScript 없이도 동작하는 접이식 인터페이스

함께 사용되는 <summary> 태그는
보여지는 제목 부분, 즉 클릭하는 영역입니다.


📍 2. 기본 예제 코드

<details>
  <summary>자주 묻는 질문</summary>
  <p>답변 내용이 이곳에 표시됩니다.</p>
</details>

 

📌 작동 방식:

  • 사용자가 summary를 클릭하면
    내부의 <p> 내용이 열리고 닫히는 토글 기능이 작동합니다!

📍 3. 여러 개 연결하면 FAQ 완성!

<details>
  <summary>Q1. 배송은 얼마나 걸리나요?</summary>
  <p>A. 보통 2~3일 이내에 도착합니다.</p>
</details>

<details>
  <summary>Q2. 교환/환불은 어떻게 하나요?</summary>
  <p>A. 고객센터에 문의주시면 빠르게 처리해드립니다.</p>
</details>

 

이처럼 <details>를 반복해서 사용하면
간단한 FAQ 섹션도 코드 몇 줄로 구현할 수 있습니다.


📍 4. 스타일 커스터마이징하기

details summary {
  cursor: pointer;
  font-weight: bold;
  padding: 10px;
}

details[open] summary {
  color: #1abc9c;
}

 

📌 details[open]열린 상태일 때만 적용되는 CSS 선택자입니다.
→ 열린 요약글의 색을 다르게 표시하거나, 화살표 아이콘을 회전시키는 등의 UI 커스터마이징이 가능합니다.


📍 5. 브라우저 호환성과 한계

대부분의 최신 브라우저에서 지원
❗ 단, 커스터마이징이 제한적이며
❗ 열리는 애니메이션 효과는 직접 추가해줘야 합니다.


✅ 마무리하며

HTML5의 <details> 태그는
간단한 토글 기능이 필요한 경우 JavaScript 없이도 충분히 구현할 수 있는
아주 유용한 태그입니다.

 

FAQ, 아코디언, 약관 열기/닫기, 메뉴 구조 등에 다양하게 활용할 수 있으니
한 번 직접 사용해보시길 추천드립니다 😊

반응형