JavaScript不要!detailsタグとsummaryタグで簡単に作れるアコーディオンの実装方法【HTML+CSS】
スポンサーリンク

こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。

アコーディオンUI(クリックで開閉できるメニュー)は、FAQや情報の整理などでよく使われる便利なパーツです。
でも「JavaScriptを書くのは面倒…」と感じている方も多いのではないでしょうか?

実は、HTMLのdetailssummaryタグを使えば、JavaScriptなしでアコーディオンを実装できます!
今回は、基本の使い方から、CSSでのデザイン調整方法まで、実例コード付きでわかりやすく解説します。

1. detailsとsummaryとは?

detailsはHTML5から導入されたタグで、開閉できるセクションを作ることができる要素です。
その中にsummaryを入れることで、クリックできるタイトル部分を指定できます。

See the Pen
Untitled
by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.


クリックすると内容がスライドのように開く、シンプルなアコーディオンになります。

2. 実際に表示される見た目

デフォルトの見た目はブラウザによって多少異なりますが、基本的には以下のようになります。

  • ▶ マーク(三角アイコン)が自動で付く
  • クリックで開閉ができる
  • CSSで装飾可能

そのままでも使えますが、見た目を整えるにはCSSでのカスタマイズが必要です。

スポンサーリンク

3. CSSでおしゃれにカスタマイズする

以下は、アコーディオンをシンプルかつ見やすく装飾するCSSの例です。

See the Pen
Untitled
by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.

ポイント
  • summary::beforeでマーカー代わりの三角アイコンを設置
  • details[open]を使って開いたときにアイコンを回転
  • summary::markerは最新のブラウザであれば非表示可能

4. よくある使い方:FAQセクション

FAQコーナーで使うと、情報がコンパクトにまとまり、読み手にとっても親切です。

<details>
  <summary>Q. 納期はどれくらいですか?</summary>
  <p>A. 通常、3〜4週間ほどで納品いたします。</p>
</details>
<details>
  <summary>Q. 修正は可能ですか?</summary>
  <p>A. はい、納品後1回まで無料修正を承っております。</p>
</details>

 

5. detailsタグのメリットと注意点

  • JavaScript不要で開閉ができる
  • SEOにも優しい構造
  • アクセシビリティが確保されている
注意点
IEでは未対応(現代ではほぼ不要な懸念)
summaryは1つまでしか指定できない
見た目カスタマイズにはCSSが必須

6. アニメーションを追加したい場合

detailsではスムーズな開閉アニメーションをCSSだけでつけるのは難しいですが、近年はdetails内の内容をCSSでtransitionする方法も少しずつ工夫されています。

ただし、本格的なアニメーションが必要な場合はJavaScriptの導入も検討しましょう。

まとめ

detailssummaryを使えば、JavaScriptなしでもアコーディオン機能を簡単に実装できます。
FAQや注意事項の展開、メニューの開閉などにピッタリの方法です。

見た目を整えるCSSを活用すれば、ユーザーにもわかりやすく、コンパクトで機能的なUIが作れます。

ぜひご自身のホームページにも取り入れてみてくださいね!

Web制作・コーディングのご相談は
静岡県浜松市でホームページ制作を承っております。
デザインや実装に関するお悩みがあれば、ぜひお気軽にお問い合わせください!

 

satokotadesignキャンペーン実施中!

浜松市の飲食店限定|ホームページ無料作成サービス
ぶっちゃけ無料相談会!ホームページ制作の悩み話してみませんか?
satokotadesign4周年記念キャンペーン

静岡県浜松市でホームページ制作ならsatokotadesign
静岡県浜松市でホームページ制作ならsatokotadesign

スポンサーリンク
おすすめの記事