6년 전, 저는 네이티브 및 접근 가능한 아코디언을 만드는 요소. 그 이후로 웹 플랫폼은 진화하여 이러한 요소에 대한 독점적인 개방형 동작 및 부드러운 애니메이션과 같은 흥미로운 새 기능을 도입했습니다.

네이티브 HTML: 아코디언
앤드류 본 ・ 2019년 1월 4일
이 글에서는 최신 CSS 속성을 최대한 활용하여 아코디언에 세련미를 더해보세요. 또한 이러한 기능을 보여주는 데모 구현도 공유하겠습니다.
기본사항: 및
요소는
다음은 간단한 예입니다.
<details> <summary>Read more</summary> Some text to be hidden. </details>
요약을 클릭하면 관련 콘텐츠의 표시 여부가 전환됩니다. JavaScript가 필요하지 않습니다!
향상된 기능: 배타적 열기 동작
한 번에 하나의 섹션만 열리는 전통적인 아코디언 동작을 모방하려면 강요. 요소는 동일한 이름을 공유하므로 하나를 열면 그룹의 다른 요소가 자동으로 닫힙니다.
<details name="exclusive"> <summary>Section 1</summary> <p>Content for section 1.</p> </details> <details name="exclusive"> <summary>Section 2</summary> <p>Content for section 2.</p> </details>
이 동작은 기본 동작이며 최신 브라우저에서 원활하게 작동합니다!
CSS로 부드러운 애니메이션 추가하기
보다 부드러운 열기 및 닫기 전환을 만들기 위해 interpolate-size 및 전환 동작과 같은 최신 CSS 속성을 사용할 수 있습니다.
주요 속성
- interpolate-size: 고유 크기(예: 자동)와 고정 크기 간에 애니메이션을 적용할 수 있습니다. 이 속성은 현재 Chrome에서만 지원됩니다.
- transition-behavior: 이산 허용으로 설정하면 가시성 및 표시와 같이 일반적으로 애니메이션할 수 없는 속성은 즉시 업데이트되지 않고 기다립니다.
예제 스타일링
데모에 사용된 CSS의 전체 예는 다음과 같습니다.
details { interpolate-size: allow-keywords; overflow: clip; margin-top: 0.125em; border: 1px solid #dddddd; background: #ffffff; color: #333333; border-radius: 3px; } details summary { display: block; cursor: pointer; position: relative; padding: 0.5em 0.5em 0.5em 0.7em; background: #ededed; color: #2b2b2b; border-radius: 3px 3px 0 0; } details:not([open]) summary:hover, details:not([open]) summary:focus { background: #f6f6f6; color: #454545; } details[open] summary { outline: 1px solid #003eff; background: #007fff; color: #ffffff; } details[open]::details-content { height: auto; } details::details-content { height: 0; overflow-y: clip; transition: content-visibility 475ms allow-discrete, height 475ms; } details main { padding: 1em 2.2em; }
작동 방식
- 높이 애니메이션: interpolate-size 속성을 사용하면 높이: 0(닫힘)과 높이: 자동(열림) 사이를 부드럽게 전환할 수 있습니다. 단, 현재는 Chrome에서만 지원됩니다.
- 가시성 전환: 전환 동작 속성은 가시성 변경이 원활하게 나타나도록 보장합니다.
데모: 모든 것을 하나로 모으기
전체 구현은 다음과 같습니다.
브라우저 지원
- interpolate-size: 현재 Chrome에서만 지원됩니다.
- 전환 동작: 대부분의 최신 브라우저에서 지원됩니다.
지원되지 않는 브라우저의 경우 애니메이션이 우아하게 뒤로 물러나고 아코디언은 부드러운 전환 없이 계속 작동합니다.
결론
및 최신 CSS와 결합된 요소는 대화형 아코디언을 만들기 위한 가볍고 접근 가능한 솔루션을 제공합니다. 이러한 새로운 개선 사항은 최신 웹 프로젝트에 더욱 매력적입니다. 데모를 시험해보고 아코디언에 신선하고 세련된 느낌을 더해보세요!
읽어주셔서 정말 감사합니다. Dev 외부에서 저와 연결하고 싶으시면 제 트위터, bsky, linkedin으로 오세요.
위 내용은 기본 HTML: 아코디언 재검토의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

사이트에 아이콘을 추가하는 가장 좋아하는 방법 중 하나는 내 CSS의 의사 요소 (예 : :: After)에 데이터 URL 배경 이미지로 포함하는 것입니다. 이것

JS Party Podcast는 단지 재미있는 에피소드를 가졌으며, 두 그룹으로 나뉘어이 고전적인 질문에 대해 토론했습니다. 각 그룹에는 "측면"이 할당되었습니다

이번 주 저는 웹 성능과 접근성에 대해 우화했습니다. Ethan Marcotte가 접근성에 대해 많은 훌륭한 메모를했을 때 시작되었습니다.

Firefox Preview 및 기타 웹 브라우저에 곧 오는 Maskable Icons라는 새로운 웹 기능이 있습니다. 이 새로운 아이콘 형식은 PWA에 안드로이드에 고유 한 적응 아이콘을 갖도록합니다.

한동안 iTunes는 팟 캐스팅에서 큰 개 였으므로 "Podcast 구독"을 링크 한 경우 다음과 같습니다.

우리는 그들이 2013 년에 크롬에 갔을 때 오페라를 잃었습니다. 올해 초 크롬 (Chrome)에 갔을 때 Edge와 같은 거래를했습니다. Mike Taylor는 이러한 변화를 "감소 적으로"불렀습니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
