HTML/CSSだけで1つだけ開けるアコーディオンの作り方【HTML/CSS・サンプルコード付き】

html/css/js

HTML/CSSだけで1つだけ開けるアコーディオンの作り方

HTMLとCSSだけを使って、常に1つだけ展開されるアコーディオンを作る方法を紹介します。このサンプルでは、details要素とsummary要素を利用し、JavaScriptを使わずにシンプルな開閉UIを実装できます。FAQ、お知らせ、設定画面など、表示領域を有効活用しながら情報を整理して見せたい場合に利用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

HTML/CSSだけで1つだけ開けるアコーディオン

1つの項目を開くと、他の項目は自動で閉じます。

アコーディオンとは?
クリックした項目の内容を開閉できるUIです。
どんな場面で使う?
FAQ、説明文、設定項目などを整理して表示したい場合に使えます。
必要なファイルは?
HTMLファイルとCSSファイルだけで作成できます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コードを指定 -->
  <meta charset="UTF-8">

  <!-- 画面幅に合わせて表示 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>HTML/CSSだけで1つだけ開けるアコーディオン</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- デモ全体を囲むエリア -->
  <div class="html-css-only-single-open-accordion_wrap">

    <!-- タイトル -->
    <div class="html-css-only-single-open-accordion_title">
      HTML/CSSだけで1つだけ開けるアコーディオン
    </div>

    <!-- 説明文 -->
    <p class="html-css-only-single-open-accordion_text">
      1つの項目を開くと、他の項目は自動で閉じます。
    </p>

    <details class="html-css-only-single-open-accordion_item" name="accordion">
      <summary>アコーディオンとは?</summary>
      <div class="html-css-only-single-open-accordion_content">
        クリックした項目の内容を開閉できるUIです。
      </div>
    </details>

    <details class="html-css-only-single-open-accordion_item" name="accordion">
      <summary>どんな場面で使う?</summary>
      <div class="html-css-only-single-open-accordion_content">
        FAQ、説明文、設定項目などを整理して表示したい場合に使えます。
      </div>
    </details>

    <details class="html-css-only-single-open-accordion_item" name="accordion">
      <summary>必要なファイルは?</summary>
      <div class="html-css-only-single-open-accordion_content">
        HTMLファイルとCSSファイルだけで作成できます。
      </div>
    </details>

  </div>

</body>
</html>

ファイル構成と設置方法

このサンプルでは、HTMLとCSSをそれぞれ別ファイルに分けて使用します。index.htmlstyle.css を同じフォルダに配置してください。

sample/
├── index.html
└── style.css
  

index.html をブラウザで開くと、HTML/CSSだけで1つだけ開けるアコーディオンを確認できます。


コメント