6년 전, 저는 네이티브 <세부정보> 및 <요약> 접근 가능한 아코디언을 만드는 요소. 그 이후로 웹 플랫폼은 진화하여 이러한 요소에 대한 독점적인 개방형 동작 및 부드러운 애니메이션과 같은 흥미로운 새 기능을 도입했습니다.
이 글에서는 <세부정보> 최신 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>
이 동작은 기본 동작이며 최신 브라우저에서 원활하게 작동합니다!
보다 부드러운 열기 및 닫기 전환을 만들기 위해 interpolate-size 및 전환 동작과 같은 최신 CSS 속성을 사용할 수 있습니다.
데모에 사용된 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; }
전체 구현은 다음과 같습니다.
지원되지 않는 브라우저의 경우 애니메이션이 우아하게 뒤로 물러나고 아코디언은 부드러운 전환 없이 계속 작동합니다.
<세부정보> 및 <요약> 최신 CSS와 결합된 요소는 대화형 아코디언을 만들기 위한 가볍고 접근 가능한 솔루션을 제공합니다. 이러한 새로운 개선 사항은 최신 웹 프로젝트에 더욱 매력적입니다. 데모를 시험해보고 아코디언에 신선하고 세련된 느낌을 더해보세요!
읽어주셔서 정말 감사합니다. Dev 외부에서 저와 연결하고 싶으시면 제 트위터, bsky, linkedin으로 오세요.
위 내용은 기본 HTML: 아코디언 재검토의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!