기본 HTML: 아코디언 재검토
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

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

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

이번 주에 플랫폼 뉴스 라운드 업 RONDUP, Chrome은로드에 대한 새로운 속성, 웹 개발자를위한 접근성 사양 및 BBC Move를 소개합니다.

이것은 처음으로 HTML 요소를보고 있습니다. 나는 그것을 잠시 동안 알고 있었지만 아직 스핀을 위해 그것을 가져 갔다. 그것은 꽤 시원하고 있습니다

구매 또는 빌드는 기술 분야의 고전적인 논쟁입니다. 신용 카드 청구서에 라인 항목이 없기 때문에 물건을 구축하는 것이 저렴할 수 있지만

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

이번 주에 타이포그래피를 검사하기위한 편리한 북마크 인 Roundup, JavaScript 모듈과 Facebook의 Facebook 등을 어떻게 가져 오는지 땜질하기 위해 대기하는 편리한 북마크 인 Roundup과 Facebook의

사이트에서 방문자 및 사용 데이터를 추적하는 데 도움이되는 분석 플랫폼이 많이 있습니다. 아마도 널리 사용되는 Google 웹 로그 분석
