≪ 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

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

参考