縦に2列で並ぶラジオボタンを作る方法
縦に2列で並ぶラジオボタンを作る方法を紹介します。ラジオボタンを2列のレイアウトで配置することで、多くの選択肢をコンパクトに表示できます。HTMLとCSSだけで実装できるため、JavaScriptを使わずに導入できるシンプルなサンプルです。
このサンプルでは、複数の選択肢を2列のグリッドレイアウトで表示し、1つだけ選択できるラジオボタンを実装しています。お問い合わせフォームや会員登録画面、設定画面、アンケートフォームなど、選択項目が多いフォームでも見やすく整理できます。項目名や選択肢の追加・削除、余白や色なども簡単に変更できます。
レスポンシブ対応も行っているため、パソコンでは2列表示、スマートフォンでは1列表示へ切り替わります。限られた画面スペースでも見やすく操作しやすいレイアウトになるため、実際のWebサイトでも利用しやすいラジオボタンを作成したい方におすすめです。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コードをUTF-8に設定 -->
<meta charset="UTF-8">
<!-- スマートフォンやタブレットの画面幅に対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ブラウザのタブに表示するページタイトル -->
<title>縦に2列で並ぶラジオボタン</title>
<!-- ラジオボタンのデザインを設定するCSSファイルを読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- 縦に2列で並ぶラジオボタン全体 -->
<div class="two-column-radio-button_demo">
<!-- ラジオボタンエリアのタイトル -->
<div class="two-column-radio-button_title">
好きな言語を選択
</div>
<!-- 選択方法を案内する説明文 -->
<p class="two-column-radio-button_text">
2列に並んだ選択肢から1つだけ選択できます。
</p>
<!-- 2列で表示するラジオボタン一覧 -->
<div class="two-column-radio-button_list">
<!-- HTMLのラジオボタン項目 -->
<label class="two-column-radio-button_item">
<!-- HTMLを選択するラジオボタン -->
<input
class="two-column-radio-button_input"
type="radio"
name="two-column-language"
value="html">
<!-- HTMLの項目名 -->
<span class="two-column-radio-button_name">
HTML
</span>
</label>
<!-- CSSのラジオボタン項目 -->
<label class="two-column-radio-button_item">
<!-- CSSを選択するラジオボタン -->
<input
class="two-column-radio-button_input"
type="radio"
name="two-column-language"
value="css">
<!-- CSSの項目名 -->
<span class="two-column-radio-button_name">
CSS
</span>
</label>
<!-- JavaScriptのラジオボタン項目 -->
<label class="two-column-radio-button_item">
<!-- JavaScriptを初期選択するラジオボタン -->
<input
class="two-column-radio-button_input"
type="radio"
name="two-column-language"
value="javascript"
checked>
<!-- JavaScriptの項目名 -->
<span class="two-column-radio-button_name">
JavaScript
</span>
</label>
<!-- PHPのラジオボタン項目 -->
<label class="two-column-radio-button_item">
<!-- PHPを選択するラジオボタン -->
<input
class="two-column-radio-button_input"
type="radio"
name="two-column-language"
value="php">
<!-- PHPの項目名 -->
<span class="two-column-radio-button_name">
PHP
</span>
</label>
<!-- Pythonのラジオボタン項目 -->
<label class="two-column-radio-button_item">
<!-- Pythonを選択するラジオボタン -->
<input
class="two-column-radio-button_input"
type="radio"
name="two-column-language"
value="python">
<!-- Pythonの項目名 -->
<span class="two-column-radio-button_name">
Python
</span>
</label>
<!-- SQLのラジオボタン項目 -->
<label class="two-column-radio-button_item">
<!-- SQLを選択するラジオボタン -->
<input
class="two-column-radio-button_input"
type="radio"
name="two-column-language"
value="sql">
<!-- SQLの項目名 -->
<span class="two-column-radio-button_name">
SQL
</span>
</label>
</div>
<!-- ラジオボタンの動作を案内する補足文 -->
<p class="two-column-radio-button_note">
各項目をクリックすると選択が切り替わり、常に1つだけ選択されます。
</p>
</div>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLファイルでラジオボタンの選択肢を配置し、CSSファイルで2列レイアウトやデザインを設定しています。JavaScriptを使用せず、CSS Gridを利用してパソコンでは2列、スマートフォンでは1列に切り替わるレスポンシブ対応のラジオボタンを作成できます。
sample/
├── index.html
└── style.css
各ファイルの役割
index.html
ラジオボタンの選択肢を配置します。項目名の変更や追加・削除、初期選択する項目の変更を行えます。
style.css
ラジオボタンを2列で並べるレイアウトや、背景色、余白、文字サイズ、角丸、レスポンシブ表示など見た目全体を設定します。
設置方法・使い方
sampleフォルダ内の index.html をブラウザで開くと利用できます。パソコンでは2列で表示され、スマートフォンでは自動的に1列表示へ切り替わります。ラジオボタンは常に1つだけ選択できます。
カスタマイズできる内容
index.htmlではラジオボタンの項目名や選択肢の追加・削除、初期選択する項目を変更できます。style.cssでは2列レイアウト、文字サイズ、背景色、余白、枠線、角丸、ラジオボタンの色、項目同士の間隔などを自由に調整できます。
数値調整
max-width:760px;
760pxは全体の最大横幅です。値を大きくすると表示領域が広くなります。
grid-template-columns:repeat(2,1fr);
2列で表示する設定です。列数を変更すると表示する列数が変わります。
gap:16px;
16pxは各項目の縦横の間隔です。値を大きくすると項目同士の間隔が広がります。
min-height:60px;
60pxは各項目の最小高さです。値を変更するとクリックしやすさや見た目が変わります。
padding:32px;
32pxは全体カードの内側余白です。値を変更すると余白が広くなります。
border-radius:18px;
18pxは全体カードの角丸です。値を変更すると丸みが変わります。
border-radius:12px;
12pxは各項目の角丸です。値を変更すると項目の丸みが変わります。
width:20px;
height:20px;
20pxはラジオボタン本体のサイズです。値を変更するとラジオボタンの大きさが変わります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssでwidth:100%、max-width、CSS Grid、padding、media queryを使用しているため、スマートフォン・タブレット・PCで見やすいレイアウトを維持できます。画面幅が狭くなると2列表示から1列表示へ自動的に切り替わります。
コメント