6 年前、私はネイティブの を探索しました。 <概要>アクセシブルなアコーディオンを作成するための要素。それ以来、Web プラットフォームは進化し、独自のオープン動作やスムーズなアニメーションなどのエキサイティングな新機能をこれらの要素に導入しました。
この記事では、
これは簡単な例です:
<details> <summary>Read more</summary> Some text to be hidden. </details>
概要をクリックすると、関連するコンテンツの表示が切り替わります。 JavaScript は必要ありません!
一度に 1 つのセクションだけを開く従来のアコーディオンの動作を模倣するには、
<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 やtransition-behavior などの最新の 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 と組み合わせることで、インタラクティブなアコーディオンを作成するための軽量でアクセスしやすいソリューションが提供されます。これらの新しい機能強化により、最新の Web プロジェクトにとってさらに魅力的なものになります。デモを試して、あなたのアコーディオンに新鮮で洗練された外観を与えてください!
読んでいただきありがとうございます。開発外で私とつながりたい場合は、私の twitter、bsky、linkedin に連絡してください?
以上がネイティブ HTML: アコーディオンの再考の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。