一覧表示するトグルスイッチを作る方法
一覧表示するトグルスイッチを作る方法を紹介します。このサンプルでは、HTMLのチェックボックスとCSSを使用し、複数の設定項目を縦方向の一覧として表示します。各行には設定名、補足説明、トグルスイッチを配置し、クリックするだけで項目ごとにオン・オフを切り替えられます。JavaScriptを使用せず、HTMLとCSSだけで動作するシンプルな構成です。
会員サイトの通知設定、管理画面の機能設定、ECサイトのメール配信設定、アプリ風のオプション画面など、設定内容を分かりやすく整理したい場面に適しています。設定名だけでなく説明文も表示できるため、それぞれの項目がどのような機能なのかを利用者へ伝えやすくなります。オン・オフの状態は背景色と丸いボタンの位置で視覚的に確認できます。
HTMLでは各設定名、説明文、初期状態を変更でき、CSSでは一覧全体の横幅、行の余白、背景色、枠線、角丸、文字サイズ、スイッチの大きさ、切り替え速度などを調整できます。画面幅が狭い場合は項目名と説明文の表示幅が自動で縮小されるため、スマートフォン・タブレット・PCで利用しやすく、実際の設定画面へ導入しやすい一覧型トグルスイッチとして活用できます。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
各項目の内容を確認して、必要な設定を切り替えてください。
各行をクリックすると、説明文付きのトグルスイッチを個別にオン・オフできます。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コード -->
<meta charset="UTF-8">
<!-- スマートフォン対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>一覧表示するトグルスイッチ</title>
<!-- CSSファイル -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- トグルスイッチ全体 -->
<div class="toggle-switch-list_wrap">
<!-- タイトル -->
<div class="toggle-switch-list_title">
通知設定
</div>
<!-- 説明文 -->
<p class="toggle-switch-list_text">
各項目の内容を確認して、必要な設定を切り替えてください。
</p>
<!-- トグルスイッチ一覧 -->
<div class="toggle-switch-list_list">
<!-- メール通知 -->
<label class="toggle-switch-list_item">
<span class="toggle-switch-list_content">
<span class="toggle-switch-list_label">
メール通知
</span>
<span class="toggle-switch-list_description">
登録したメールアドレスへ新着情報を送信します。
</span>
</span>
<input
class="toggle-switch-list_input"
type="checkbox"
name="email-notification"
checked>
<span
class="toggle-switch-list_switch"
aria-hidden="true"></span>
</label>
<!-- プッシュ通知 -->
<label class="toggle-switch-list_item">
<span class="toggle-switch-list_content">
<span class="toggle-switch-list_label">
プッシュ通知
</span>
<span class="toggle-switch-list_description">
ブラウザへ更新情報を通知します。
</span>
</span>
<input
class="toggle-switch-list_input"
type="checkbox"
name="push-notification">
<span
class="toggle-switch-list_switch"
aria-hidden="true"></span>
</label>
<!-- 通知音 -->
<label class="toggle-switch-list_item">
<span class="toggle-switch-list_content">
<span class="toggle-switch-list_label">
通知音
</span>
<span class="toggle-switch-list_description">
通知を受信したときに音を鳴らします。
</span>
</span>
<input
class="toggle-switch-list_input"
type="checkbox"
name="notification-sound"
checked>
<span
class="toggle-switch-list_switch"
aria-hidden="true"></span>
</label>
<!-- キャンペーン通知 -->
<label class="toggle-switch-list_item">
<span class="toggle-switch-list_content">
<span class="toggle-switch-list_label">
キャンペーン通知
</span>
<span class="toggle-switch-list_description">
キャンペーンやお得な情報を受け取ります。
</span>
</span>
<input
class="toggle-switch-list_input"
type="checkbox"
name="campaign-notification">
<span
class="toggle-switch-list_switch"
aria-hidden="true"></span>
</label>
</div>
</div>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLでは設定項目ごとにタイトル・説明文・トグルスイッチを配置し、一覧形式で表示します。CSSでは各項目のレイアウトやデザイン、トグルスイッチの見た目、オン・オフ時の表示、レスポンシブ対応を設定します。JavaScriptを使用せず、HTMLとCSSのみで動作するため、そのままWebサイトへ導入できます。
sample/
├── index.html
└── style.css
各ファイルの役割
index.htmlは一覧表示するトグルスイッチ全体を構成するファイルです。タイトル、説明文、各設定項目名、補足説明、初期状態(オン・オフ)を変更できます。checked属性を追加・削除すると、ページを開いたときの初期状態を変更できます。
style.cssは一覧レイアウトとトグルスイッチのデザインを設定するファイルです。横幅、余白、背景色、文字サイズ、枠線、角丸、説明文の色、スイッチのサイズ、切り替えアニメーションなどを用途に合わせて変更できます。
設置方法・使い方
sampleフォルダへindex.htmlとstyle.cssを配置します。2つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。表示された各項目をクリックすると、それぞれ独立してオン・オフを切り替えられます。
カスタマイズできる内容
index.htmlではタイトル、説明文、設定項目名、補足説明、表示する項目数、初期状態を変更できます。通知設定だけでなく、アカウント設定、公開設定、権限設定など用途に合わせた一覧画面として利用できます。
style.cssでは一覧全体の横幅、背景色、余白、項目間の間隔、枠線、角丸、文字サイズ、説明文の色、スイッチのサイズ、オン・オフ時の色、切り替え速度などを変更できます。
数値調整
style.css
max-width:760px;
一覧全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。
padding:32px;
一覧全体の内側余白です。値を大きくすると余白が広がり、小さくすると詰まった表示になります。
gap:12px;
各設定項目の間隔です。値を大きくすると間隔が広がり、小さくすると項目同士が近づきます。
padding:18px 20px;
各項目の内側余白です。値を大きくすると項目全体が大きく表示されます。
font-size:16px;
設定名の文字サイズです。値を大きくすると文字が大きくなり、小さくするとコンパクトになります。
font-size:14px;
説明文の文字サイズです。値を変更すると説明文の見やすさを調整できます。
width:52px;
スイッチ本体の横幅です。値を大きくするとスイッチ全体が横に大きくなります。
height:28px;
スイッチ本体の高さです。値を大きくすると縦方向に大きく表示されます。
transform:translateX(24px);
オン時に丸いボタンが移動する距離です。値を変更すると移動量が変わります。
transition:0.3s;
スイッチが切り替わる時間です。0.3秒で変化します。値を大きくするとゆっくり、小さくすると素早く切り替わります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:760pxにより画面幅に合わせて一覧全体が縮小されます。また、640px以下では内側余白や項目間隔、説明文サイズを自動で調整するため、スマートフォン・タブレット・PCのいずれでも見やすく利用できます。
コメント