≪ Today I learned.
RSS購読
    公開日
    タグ
    HTML
    著者
    ダーシノ

    URLのフラグメント(#)からdetails要素を開く

    details要素を使うことで、アコーディオンメニューのようなものが簡単に実装できる。ただし、details要素を開いた状態にするにはopen属性を付ける必要があり、内包される情報が隠蔽されてしまう。

    そんなときはフラグメントを使うことで、URLの#で指定した要素が含まれるdetails要素を開いた状態でページを表示できる。

    以下のようなHTMLがあるときに、https://example.com/page#fragment1 のようにフラグメントをつけると、「詳細情報」が展開される。

    <details>
      <summary>詳細情報</summary>
    
      <section>
        <h3 id="fragment1">
          <a href="#fragment1">フラグメント1</a>
        </h3>
        <p>ここに詳細な情報を記述します。</p>
      </section>
    </details>

    デモ

    詳細情報1

    フラグメント1-1

    ここに詳細な情報を記述します。

    フラグメント1-2

    ここに詳細な情報を記述します。

    詳細情報2

    フラグメント2-1

    ここに詳細な情報を記述します。

    フラグメント2-2

    ここに詳細な情報を記述します。

    参考