카테고리 없음

HTML details 태그 접기/펼치기 기능과 CSS 스타일링

IT 이모저모 2025. 5. 20. 18:29
반응형

 

 

HTML details 태그: 접기/펼치기 기능과 CSS 스타일링으로 사용자 경험 극대화하기

웹 페이지에서 정보를 효율적으로 제공하는 방법, 고민 많으셨죠? HTML5에서 제공하는

태그는 바로 그 해답이 될 수 있습니다! 이 태그는 정보를 숨겨두었다가 사용자가 원할 때 펼쳐서 볼 수 있게 해주는 아주 유용한 도구입니다. FAQ, 추가 설명, 긴 텍스트 블록 등에 특히 유용하며, CSS 스타일링을 통해 디자인까지 깔끔하게 잡을 수 있습니다. 지금부터

태그의 모든 것을 파헤쳐 보겠습니다.

 

details 태그란 무엇일까요?

태그는 HTML에서 'disclosure widget'을 만드는 데 사용됩니다. 쉽게 말해, 내용을 접었다 펼 수 있는 상자 같은 것이라고 생각하시면 됩니다. 이 태그는 기본적으로 닫힌 상태로 시작하며, 사용자가 클릭하면 내용이 펼쳐집니다. JavaScript 없이도 기본적인 토글 기능을 제공하며, 접근성까지 고려된 똑똑한 녀석이죠!

 

details 태그의 기본 구조

태그는 태그와 함께 사용됩니다. 태그는 펼쳐보기 전에 사용자에게 보여지는 제목 또는 요약 텍스트 역할을 합니다.

 

<details>
  <summary>자세한 정보를 보려면 클릭하세요!summary>
  <p>여기에 숨겨진 정보가 있습니다.p>
details>

위 코드에서

태그 안의 텍스트가 기본적으로 표시되고, 이 텍스트를 클릭하면

태그 안의 내용이 펼쳐집니다. 아주 직관적이죠?

 

details 태그의 주요 특징

  • 토글 기능: JavaScript 없이도 클릭 한 번으로 내용을 접었다 펼 수 있습니다.
  • 접근성: 스크린 리더 사용자도 쉽게 사용할 수 있도록 설계되었습니다.
  • 호환성: 최신 브라우저에서 완벽하게 지원됩니다.
  • 유연성: 텍스트, 이미지, 리스트, 테이블 등 다양한 콘텐츠를 포함할 수 있습니다.

details 태그 활용법: 실전 예제로 마스터하기

이제

태그를 실제로 어떻게 사용하는지 다양한 예제를 통해 알아보겠습니다.

 

FAQ 목록 만들기

가장 흔하게 사용되는 예는 FAQ 목록입니다. 각 질문을

태그로 감싸고, 답변을

태그 안에 넣으면 깔끔하게 정리된 FAQ를 만들 수 있습니다.

 

<details>
  <summary>Q: HTML이란 무엇인가요?summary>
  <p>A: HTML은 웹 페이지의 구조를 정의하는 마크업 언어입니다.p>
details>
<details>
  <summary>Q: CSS는 무엇인가요?summary>
  <p>A: CSS는 웹 페이지의 스타일을 지정하는 스타일시트 언어입니다.p>
details>

기본 상태를 열림으로 설정하기 ( open 속성)

태그는 기본적으로 닫힌 상태로 시작하지만, open 속성을 사용하면 페이지 로드 시점에 내용을 펼쳐서 보여줄 수 있습니다.

 

<details open>
  <summary>기본적으로 열린 상태summary>
  <p>이 내용은 페이지가 로드될 때부터 보입니다.p>
details>

여러 개의 콘텐츠 포함하기

태그 안에는 텍스트뿐만 아니라 리스트, 이미지, 테이블 등 다양한 HTML 요소를 넣을 수 있습니다.

 

<details>
  <summary>더 많은 정보summary>
  <ul>
    <li>항목 1li>
    <li>항목 2li>
    <li>항목 3li>
  ul>
details>

CSS 스타일링으로 details 태그 디자인하기

태그는 CSS를 사용하여 자유롭게 스타일을 변경할 수 있습니다. 테두리, 배경색, 글꼴 등을 변경하여 웹 페이지의 디자인과 일관성을 유지할 수 있습니다.

 

기본적인 스타일링

<style>
  details {
    border: 1px solid #ccc;
    padding: 10px;
    width: 300px;
    border-radius: 5px;
    background-color: #f9f9f9;
  }
  summary {
    font-weight: bold;
    cursor: pointer;
  }
  details[open] {
    background-color: #e6f7ff;
  }
style>
<details>
  <summary>자세한 정보 보기summary>
  <p>여기에 추가 정보가 표시됩니다.p>
details>

위 코드에서 details 태그의 테두리, 패딩, 너비, 배경색 등을 설정하고, summary 태그의 글꼴을 굵게 만들고, 커서를 포인터로 변경했습니다. 또한, details[open] 선택자를 사용하여 펼쳐진 상태일 때 배경색을 변경했습니다.

화살표 아이콘 변경하기

태그 옆에 있는 기본 화살표 아이콘은 ::-webkit-details-marker pseudo-element를 사용하여 변경할 수 있습니다.

 

summary::-webkit-details-marker {
  color: #3498db;
  font-size: 1.2em;
}

details vs dialog : 어떤 태그를 사용해야 할까요?

태그와

 

태그는 모두 정보를 표시하는 데 사용되지만, 용도가 다릅니다.

태그는 정보를 접었다 펼 수 있는 섹션을 만드는 데 사용되는 반면,

 

태그는 팝업 창을 만드는 데 사용됩니다.

 

특징
용도 정보 섹션 접기/펼치기 팝업 창
기본 상태 닫힘 숨김
제어 CSS 및 HTML 속성으로 제어 JavaScript로 제어
접근성 기본적으로 높음 추가적인 고려 필요

만약 정보를 숨겨두었다가 사용자가 원할 때 볼 수 있게 하고 싶다면

태그를, 사용자에게 중요한 메시지나 알림을 팝업 창으로 보여주고 싶다면

 

태그를 사용하는 것이 좋습니다.

 

마무리

HTML

태그는 웹 페이지에서 정보를 효율적으로 관리하고 사용자 경험을 향상시키는 데 매우 유용한 도구입니다. JavaScript 없이도 기본적인 토글 기능을 제공하며, CSS 스타일링을 통해 디자인까지 깔끔하게 잡을 수 있습니다. FAQ, 추가 설명, 긴 텍스트 블록 등에 적극적으로 활용하여 웹 페이지의 가독성을 높여보세요!

 

 

반응형