複数のトグルスイッチのうち1つだけ最初からONにする方法
複数のトグルスイッチを配置する画面では、特定の項目だけを最初からONの状態で表示したいことがあります。例えば、お知らせメールだけを有効にしておき、それ以外の通知はOFFにする設定画面などでよく使われる実装です。本記事では、HTMLとCSSだけを使って、複数あるトグルスイッチのうち1つだけを初期状態でONにする方法を紹介します。
サンプルでは「メール通知」「プッシュ通知」「SMS通知」の3つのトグルスイッチを配置し、「メール通知」のみ最初からONで表示します。ページを開いた直後から現在の設定が分かりやすく、利用者は必要に応じて各トグルをクリックして自由にON・OFFを切り替えられます。JavaScriptを使わずに実装できるため、シンプルで導入しやすい構成です。
お問い合わせ画面や会員サイトの通知設定、管理画面の各種オプション、ECサイトの配信設定など、初期値を持たせたい場面で活用できます。ラベル名や説明文、色、サイズ、余白などは自由に変更できるため、デザインや用途に合わせてカスタマイズしやすいサンプルです。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
メール通知だけ最初からONになっています。
ページを開くと「メール通知」のみONで表示されます。各トグルスイッチはクリックして自由にON・OFFを切り替えられます。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コードをUTF-8へ設定 -->
<meta charset="UTF-8">
<!-- スマートフォンやタブレットの画面幅へ対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ブラウザのタブへ表示するページタイトル -->
<title>複数のトグルスイッチのうち1つだけ最初からONにする</title>
<!-- CSSファイルを読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- 通知設定全体 -->
<div class="toggle-one-on-default_wrap">
<!-- タイトル -->
<div class="toggle-one-on-default_title">
通知設定
</div>
<!-- 説明文 -->
<p class="toggle-one-on-default_text">
メール通知だけ最初からONになっています。
</p>
<!-- トグルスイッチ一覧 -->
<div class="toggle-one-on-default_list">
<!-- メール通知 -->
<div class="toggle-one-on-default_row">
<div class="toggle-one-on-default_label">
メール通知
</div>
<label class="toggle-one-on-default_switch">
<!-- checked属性を付けて最初からONにする -->
<input type="checkbox" checked>
<span class="toggle-one-on-default_slider"></span>
</label>
</div>
<!-- プッシュ通知 -->
<div class="toggle-one-on-default_row">
<div class="toggle-one-on-default_label">
プッシュ通知
</div>
<label class="toggle-one-on-default_switch">
<!-- checked属性がないため最初はOFF -->
<input type="checkbox">
<span class="toggle-one-on-default_slider"></span>
</label>
</div>
<!-- SMS通知 -->
<div class="toggle-one-on-default_row">
<div class="toggle-one-on-default_label">
SMS通知
</div>
<label class="toggle-one-on-default_switch">
<!-- checked属性がないため最初はOFF -->
<input type="checkbox">
<span class="toggle-one-on-default_slider"></span>
</label>
</div>
</div>
</div>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLでは3つのトグルスイッチを配置し、そのうち「メール通知」のみchecked属性を付けて最初からONの状態で表示します。CSSではトグルスイッチ全体のデザインやサイズ、色、切り替えアニメーションを設定します。
sample/
├── index.html
└── style.css
各ファイルの役割
index.htmlは通知設定全体を構成するファイルです。タイトル、説明文、各トグルスイッチのラベルを変更できます。また、checked属性を付ける項目を変更することで、最初からONにするトグルスイッチを自由に切り替えられます。
style.cssはトグルスイッチ全体のデザインを設定するファイルです。背景色、文字色、余白、角丸、スイッチのサイズ、ON・OFF時の色、丸いボタンの位置やアニメーション速度などを変更できます。
設置方法・使い方
sampleフォルダへindex.htmlとstyle.cssを配置します。2つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。ページを開くと「メール通知」のみ最初からONの状態で表示され、各トグルスイッチはクリックして自由にON・OFFを切り替えられます。
カスタマイズできる内容
index.htmlではタイトル、説明文、各ラベルを変更できます。最初からONにする項目を変更したい場合は、checked属性を付けるチェックボックスを変更してください。複数へ付けると複数項目を最初からONにすることもできます。
style.cssでは全体の横幅、余白、背景色、文字サイズ、角丸、スイッチの大きさ、丸いボタンのサイズ、ON・OFF時の背景色、切り替えアニメーションの速度などを自由に調整できます。
数値調整
style.css
max-width:700px;
全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。
margin:40px auto;
全体の上下余白です。40pxを変更すると上下の間隔が変わります。
padding:32px;
全体の内側余白です。値を大きくすると内容と外枠の間隔が広がります。
gap:18px;
各トグルスイッチ同士の間隔です。値を大きくすると上下の間隔が広がります。
gap:20px;
ラベルとスイッチの間隔です。値を変更すると左右の間隔が変わります。
width:58px;
スイッチ全体の横幅です。値を大きくすると横長になります。
height:32px;
スイッチ全体の高さです。値を大きくするとスイッチが太くなります。
width:24px;・height:24px;
丸いボタンの大きさです。値を変更すると丸のサイズが変わります。
top:4px;・left:4px;
丸いボタンの初期位置です。値を変更すると配置位置が変わります。
transform:translateX(26px);
ON状態で丸いボタンが移動する距離です。値を変更すると停止位置が変わります。
transition:.3s;
スイッチが切り替わる時間です。0.3秒で変化します。値を大きくするとゆっくり、小さくすると速く切り替わります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:700pxにより、画面幅に合わせて全体が縮小されます。また、640px以下ではpadding:24px 18px;へ変更して余白を調整しているため、スマートフォン・タブレット・PCで利用できます。
コメント