チェックした項目を非表示にするチェックボックスを作る方法
チェックした項目を一覧から非表示にするチェックボックスの作り方を紹介します。各項目のチェックボックスを選択すると、チェックした項目を含む行全体がすぐに非表示になります。対応済みの項目や確認済みの内容を画面から取り除き、残っている項目だけを見やすく表示できるサンプルです。
タスク一覧、確認作業、持ち物リスト、管理画面の処理対象、アンケート項目など、完了した内容を順番に消していきたい場面で利用できます。未処理の項目だけが画面に残るため、現在対応すべき内容を確認しやすくなり、項目数が多い画面でも作業を進めやすくなります。
HTMLでチェックボックスと項目名を配置し、CSSで一覧の見た目を整え、JavaScriptでチェックされた項目へ非表示用のクラスを追加します。項目名や項目数はHTMLから変更でき、背景色、余白、文字サイズ、枠線、角丸、チェックボックスの大きさはCSSから調整できます。外部ライブラリを使用せず、スマートフォン・タブレット・PCで利用できます。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コードをUTF-8へ設定 -->
<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="checkbox-hide-selected_wrap">
<!-- チェックボックスエリアのタイトル -->
<div class="checkbox-hide-selected_title">
チェックした項目を非表示
</div>
<!-- 操作方法を案内する説明文 -->
<p class="checkbox-hide-selected_text">
完了した項目へチェックを入れてください。
</p>
<!-- 非表示の対象となるチェックボックス一覧 -->
<div class="checkbox-hide-selected_list">
<!-- HTMLのチェックボックス項目 -->
<label class="checkbox-hide-selected_label">
<!-- HTML項目の選択状態を管理するチェックボックス -->
<input
class="checkbox-hide-selected_input"
type="checkbox"
name="completed[]"
value="HTML">
<!-- HTMLの項目名 -->
<span class="checkbox-hide-selected_name">
HTML
</span>
</label>
<!-- CSSのチェックボックス項目 -->
<label class="checkbox-hide-selected_label">
<!-- CSS項目の選択状態を管理するチェックボックス -->
<input
class="checkbox-hide-selected_input"
type="checkbox"
name="completed[]"
value="CSS">
<!-- CSSの項目名 -->
<span class="checkbox-hide-selected_name">
CSS
</span>
</label>
<!-- JavaScriptのチェックボックス項目 -->
<label class="checkbox-hide-selected_label">
<!-- JavaScript項目の選択状態を管理するチェックボックス -->
<input
class="checkbox-hide-selected_input"
type="checkbox"
name="completed[]"
value="JavaScript">
<!-- JavaScriptの項目名 -->
<span class="checkbox-hide-selected_name">
JavaScript
</span>
</label>
<!-- PHPのチェックボックス項目 -->
<label class="checkbox-hide-selected_label">
<!-- PHP項目の選択状態を管理するチェックボックス -->
<input
class="checkbox-hide-selected_input"
type="checkbox"
name="completed[]"
value="PHP">
<!-- PHPの項目名 -->
<span class="checkbox-hide-selected_name">
PHP
</span>
</label>
<!-- Pythonのチェックボックス項目 -->
<label class="checkbox-hide-selected_label">
<!-- Python項目の選択状態を管理するチェックボックス -->
<input
class="checkbox-hide-selected_input"
type="checkbox"
name="completed[]"
value="Python">
<!-- Pythonの項目名 -->
<span class="checkbox-hide-selected_name">
Python
</span>
</label>
</div>
</div>
<!-- チェックした項目を非表示にするJavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。HTMLでチェックボックス一覧を作成し、CSSでレイアウトやデザインを整え、JavaScriptでチェックした項目を画面から非表示にする処理を行います。
チェックボックスへチェックを入れると、その項目だけが一覧から自動で非表示になります。完了したタスクや確認済みの項目を順番に消していけるため、未対応の項目だけを見やすく表示したい場面で利用できます。
sample/
├── index.html
├── style.css
└── script.js
各ファイルの役割
index.html
チェックボックス一覧を作成します。項目名や項目数を変更したい場合は、このファイルを編集します。
style.css
全体のレイアウト、背景色、余白、文字サイズ、枠線、角丸、チェックボックスの大きさを設定します。また、チェックした項目を非表示にするクラスも定義しています。
script.js
チェックボックスの状態を監視し、チェックされた項目へ非表示用クラスを追加します。チェックした項目だけが画面から消える処理を担当します。
設置方法・使い方
sampleフォルダへ index.html、style.css、script.js を保存します。3ファイルを同じフォルダへ配置した後、sample/index.html をブラウザで開くと利用できます。
チェックボックスへチェックを入れると、その項目だけが一覧から非表示になります。非表示になった項目を戻したい場合はページを再読み込みしてください。
カスタマイズできる内容
index.htmlでは、チェックボックスの項目名、表示順、項目数を自由に変更できます。
style.cssでは、背景色、文字色、枠線、余白、角丸、チェックボックスのサイズ、全体の横幅などを変更できます。
script.jsでは、非表示にするタイミングや対象要素を変更できます。処理内容を書き換えることで別の動作へ応用できます。
数値調整
style.css
max-width:700px; は全体の最大横幅です。700pxから900pxへ変更すると、横幅が広くなります。
padding:32px; は全体の内側余白です。32pxから20pxへ変更すると、余白が狭くなります。
gap:12px; は各項目の間隔です。12pxから20pxへ変更すると、項目同士の間隔が広がります。
min-height:56px; は各項目の高さです。56pxから70pxへ変更すると、クリックしやすい大きさになります。
width:22px; と height:22px; はチェックボックスのサイズです。22pxから28pxへ変更すると、チェックボックスが大きく表示されます。
font-size:22px; はタイトルの文字サイズです。22pxから28pxへ変更すると、タイトルが大きく表示されます。
border-radius:18px; は全体の角丸です。18pxから8pxへ変更すると角が四角くなり、24pxへ変更すると丸みが強くなります。
レスポンシブ対応
style.cssでは width:100%、max-width:700px、box-sizing:border-box と、640px以下のメディアクエリを使用してレスポンシブ対応しています。
スマートフォンでは余白を小さく調整し、画面幅に合わせて表示されます。PC・タブレット・スマートフォンでレイアウトが崩れにくい構成です。
コメント