AD JB Toolbox 01

HTML 강좌 / details와 summary로 펼침 콘텐츠 만들기

details와 summary를 사용하면 사용자가 눌러 펼치고 접을 수 있는 콘텐츠를 HTML만으로 만들 수 있습니다. 질문의 답, 보충 설명, 긴 설정 안내처럼 처음에는 일부만 보여 주고 싶을 때 적합합니다.

가장 작은 펼침 콘텐츠

<details>
  <summary>운영 시간 보기</summary>
  <p>월요일부터 금요일까지 오전 9시부터 오후 6시까지 운영합니다.</p>
</details>

코드를 HTML 파일의 body에 넣고 브라우저에서 열면 처음에는 ‘운영 시간 보기’만 보입니다. 그 문구를 누르거나 키보드로 활성화하면 문단이 나타납니다. summary는 details의 첫 번째 자식으로 작성하세요.

브라우저가 펼침 상태와 키보드 조작을 기본으로 제공하므로 단순한 열기·닫기를 위해 별도 스크립트를 만들 필요가 없습니다. 표시되는 화살표나 테두리는 브라우저와 CSS에 따라 달라질 수 있습니다. 모양이 달라도 문구를 눌러 내용이 열리고 다시 접히는지 확인하세요.

처음부터 열린 상태로 보여 주기

open 속성을 넣으면 콘텐츠가 처음부터 펼쳐집니다. 사용자는 이후에도 접거나 다시 펼칠 수 있습니다.

<details open>
  <summary>배송 안내</summary>
  <p>지역에 따라 도착 일정이 달라질 수 있습니다.</p>
</details>

중요한 안내를 읽지 않아도 되는 보충 정보처럼 취급해 기본적으로 숨기지 않도록 주의하세요. 사용자가 반드시 확인해야 할 조건은 펼침 여부와 관계없이 잘 보이는 위치에 두는 편이 낫습니다.

open은 참·거짓을 나타내는 불리언 속성입니다. open="false"라고 적어도 속성이 존재하므로 처음부터 열린 상태가 됩니다. 닫힌 상태로 시작하려면 open 자체를 제거하세요.

여러 항목을 작성할 때

여러 details를 연속으로 둘 수 있습니다. 각 summary에는 펼쳤을 때 무엇이 나오는지 구체적으로 적어 주세요. ‘자세히 보기’만 반복하면 항목을 구별하기 어렵습니다. 기본 표시 모양은 브라우저마다 다를 수 있으므로 키보드와 모바일 화면에서도 확인하세요.

자주 묻는 질문에 사용할 수도 있지만 모든 질문을 굳이 접어야 하는 것은 아닙니다. 짧은 답을 바로 보여 주는 편이 독자에게 더 빠르다면 일반 문단이 적합합니다. 요소의 구조와 속성은 MDN details 요소 문서를 참고하세요.

작동하지 않을 때 확인하기

summary가 details 바깥에 있는지, 종료 태그가 빠졌는지 살펴보세요. 스타일을 적용한 뒤 클릭 영역이나 키보드 초점 표시가 사라지지 않았는지도 확인해야 합니다.

접힌 상태에서 내용을 보려면 사용자 동작이 한 번 더 필요합니다. 답이 짧고 바로 읽는 편이 빠르다면 일반 문단을 쓰고, 길거나 선택적인 보충 설명일 때만 펼침 요소를 선택하세요. 선택 기준은 효과가 화려한지가 아니라 독자가 정보를 찾기 쉬운지입니다.

같은 카테고리의 다른 글
HTML 강좌 / 제목과 문단

HTML 강좌 / 제목과 문단

HTML h1~h6 제목 태그와 p 문단 태그의 역할 및 올바른 구조를 예제로 설명합니다. 제목 단계 구성, br 줄바꿈과 자주 발생하는 작성 오류도 함께 확인할 수 있습니다.

HTML 강좌 / 읽기 쉬운 표 만들기: caption, th, scope, 셀 병합

HTML 강좌 / 읽기 쉬운 표 만들기: caption, th, scope, 셀 병합

caption과 제목 셀의 scope로 표의 관계를 분명히 하고, colspan·rowspan으로 셀을 병합할 때 주의할 점을 설명합니다.

HTML 강좌 / HTML 오류 찾기와 문서 검사하기

HTML 강좌 / HTML 오류 찾기와 문서 검사하기

HTML 검사 도구로 문법 오류를 찾고 수정한 뒤 링크, 키보드 조작, 모바일 표시까지 확인하는 절차를 안내합니다.

HTML 강좌 / HTML 문서의 기본 구조

HTML 강좌 / HTML 문서의 기본 구조

HTML 문서를 이루는 doctype, html, head, body의 역할과 기본 작성 순서를 예제로 설명합니다. 문서 정보와 페이지 본문을 구분하고 첫 HTML 파일을 직접 만들어 볼 수 있습니다.

HTML 강좌 / HTML의 개념과 웹페이지에서 하는 역할

HTML 강좌 / HTML의 개념과 웹페이지에서 하는 역할

HTML은 웹페이지의 콘텐츠에 구조와 의미를 부여합니다. HTML·CSS·JavaScript의 역할을 비교하고, 간단한 코드가 브라우저에 표시되는 과정과 첫 HTML 파일을 만드는 방법을 알아봅니다.

HTML 강좌 / 텍스트에 의미 부여하기

HTML 강좌 / 텍스트에 의미 부여하기

HTML의 em, strong, q, blockquote, abbr, code, kbd를 상황에 맞게 쓰는 방법을 예제로 설명합니다. 글자의 모양이 아니라 텍스트의 의미를 표시하는 기준을 익힐 수 있습니다.

HTML 강좌 / input 유형 선택하기: 이메일·숫자·날짜·체크박스·라디오

HTML 강좌 / input 유형 선택하기: 이메일·숫자·날짜·체크박스·라디오

입력 목적에 맞는 input type을 고르고 체크박스와 라디오 버튼의 선택·제출 동작을 구분하는 방법을 설명합니다.

HTML 강좌 / audio, video, iframe으로 미디어와 외부 콘텐츠 삽입하기

HTML 강좌 / audio, video, iframe으로 미디어와 외부 콘텐츠 삽입하기

오디오·비디오 파일과 외부 콘텐츠를 HTML에 삽입할 때 필요한 기본 코드, 자막, 파일 경로, 접근성 확인 사항을 설명합니다.

HTML 강좌 / 문서 제목·설명·언어·문자 인코딩 설정하기

HTML 강좌 / 문서 제목·설명·언어·문자 인코딩 설정하기

title, meta description, html lang, UTF-8 문자 인코딩, viewport의 역할을 완성된 HTML 문서 예제로 설명합니다.

HTML 강좌 / 여러 페이지로 된 작은 사이트 만들기

HTML 강좌 / 여러 페이지로 된 작은 사이트 만들기

홈·소개·문의 페이지를 연결하는 작은 사이트를 만들고 메뉴, 양식, 키보드 조작과 문서 오류를 점검하는 종합 실습입니다.