アイコンが90度回転するアコーディオンの作り方
HTML・CSS・JavaScriptを使って、開閉時にアイコンが90度回転するアコーディオンを作る方法を紹介します。このサンプルでは、見出しをクリックすると内容が開閉し、右側のアイコンが回転して開閉状態を分かりやすく表示します。FAQ、ヘルプページ、商品説明、設定画面など、ユーザーに状態変化を視覚的に伝えたい場合に便利です。
コードについて
本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コードを指定 -->
<meta charset="UTF-8">
<!-- 画面幅に合わせて表示 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>アイコンが90度回転するアコーディオン</title>
<!-- CSSファイルを読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- デモ全体を囲むエリア -->
<div class="rotate-90-icon-accordion_wrap">
<!-- タイトル -->
<div class="rotate-90-icon-accordion_title">
アイコンが90度回転するアコーディオン
</div>
<!-- 説明文 -->
<p class="rotate-90-icon-accordion_text">
見出しをクリックすると、右側のアイコンが90度回転します。
</p>
<!-- アコーディオン項目 -->
<div class="rotate-90-icon-accordion_item">
<button class="rotate-90-icon-accordion_button" type="button">
アコーディオンとは?
<span class="rotate-90-icon-accordion_icon">▶</span>
</button>
<div class="rotate-90-icon-accordion_content">
クリックした項目の内容を開閉できるUIです。
</div>
</div>
<!-- アコーディオン項目 -->
<div class="rotate-90-icon-accordion_item">
<button class="rotate-90-icon-accordion_button" type="button">
どんな場面で使う?
<span class="rotate-90-icon-accordion_icon">▶</span>
</button>
<div class="rotate-90-icon-accordion_content">
FAQ、説明文、設定項目などを整理して表示したい場合に使えます。
</div>
</div>
<!-- アコーディオン項目 -->
<div class="rotate-90-icon-accordion_item">
<button class="rotate-90-icon-accordion_button" type="button">
必要なファイルは?
<span class="rotate-90-icon-accordion_icon">▶</span>
</button>
<div class="rotate-90-icon-accordion_content">
HTML、CSS、JavaScriptの3つのファイルで作成できます。
</div>
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
ファイル構成と設置方法
このサンプルでは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.html、style.css、script.js を同じフォルダに配置してください。
sample/
├── index.html
├── style.css
└── script.js
index.html をブラウザで開くと、見出しをクリックした時に右側のアイコンが90度回転します。回転速度を変更したい場合は、style.css 内の transition の秒数を調整してください。
コメント