横並びのラジオボタンを作る方法【HTML/CSS・サンプルコード付き】

ラジオボタン

横並びのラジオボタンを作る方法

横並びのラジオボタンを作る方法を紹介します。複数の選択肢を横一列に配置し、その中から1つだけ選択できる基本的なフォームUIです。選択肢の数が少なく、縦方向のスペースを節約したい場合に使いやすいレイアウトです。

このサンプルではHTMLとCSSだけを使用し、ラジオボタンと項目名を横並びに配置します。同じname属性を設定しているため、複数の項目を同時に選択することはできず、別の項目を選ぶと現在の選択が自動で切り替わります。

アンケート、設定画面、配送方法、表示形式など、選択肢をコンパクトに見せたい場面で利用できます。項目名や選択肢の数はHTML、間隔、文字サイズ、色、枠線、角丸、ラジオボタンの大きさはCSSから変更できます。画面幅が狭い場合は折り返して表示されるため、スマートフォン・タブレット・PCで利用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
カスタマイズについて 項目名や選択肢の数、横方向の間隔は用途に合わせて変更できます。

デモ

好きな言語を選択

複数の選択肢から1つだけ選択できます。

各項目をクリックすると選択が切り替わり、常に1つだけ選択されます。

コードをコピーして使おう!

<!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="horizontal-radio-button_wrap">

    <!-- タイトル -->
    <h1 class="horizontal-radio-button_title">
      好きな言語を選択
    </h1>

    <!-- 説明文 -->
    <p class="horizontal-radio-button_text">
      複数の選択肢から1つだけ選択できます。
    </p>

    <!-- 横並びラジオボタン -->
    <div class="horizontal-radio-button_list">

      <!-- HTML -->
      <label class="horizontal-radio-button_label">
        <input
          class="horizontal-radio-button_input"
          type="radio"
          name="language"
          value="html"
          checked>
        <span class="horizontal-radio-button_name">HTML</span>
      </label>

      <!-- CSS -->
      <label class="horizontal-radio-button_label">
        <input
          class="horizontal-radio-button_input"
          type="radio"
          name="language"
          value="css">
        <span class="horizontal-radio-button_name">CSS</span>
      </label>

      <!-- JavaScript -->
      <label class="horizontal-radio-button_label">
        <input
          class="horizontal-radio-button_input"
          type="radio"
          name="language"
          value="javascript">
        <span class="horizontal-radio-button_name">JavaScript</span>
      </label>

      <!-- PHP -->
      <label class="horizontal-radio-button_label">
        <input
          class="horizontal-radio-button_input"
          type="radio"
          name="language"
          value="php">
        <span class="horizontal-radio-button_name">PHP</span>
      </label>

    </div>

  </div>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLファイルでラジオボタンの選択肢を配置し、CSSファイルで横並びレイアウトやデザインを設定しています。JavaScriptを使用しないため、シンプルな構成で横並びのラジオボタンを実装できます。

sample/
├── index.html
└── style.css

各ファイルの役割
index.html
ラジオボタンの選択肢を配置します。項目名の変更や追加、初期選択する項目を自由に編集できます。

style.css
ラジオボタンを横並びに配置し、余白、文字サイズ、枠線、背景色、角丸、レスポンシブ表示などの見た目を設定します。

設置方法・使い方
sampleフォルダ内の index.html をブラウザで開くと利用できます。同じname属性を持つラジオボタンのため、複数の選択肢から常に1つだけ選択できます。

カスタマイズできる内容
index.htmlでは選択肢の追加・削除や項目名、初期選択する項目を変更できます。style.cssでは横方向の間隔、背景色、文字サイズ、余白、角丸、枠線、ラジオボタンの色などを自由に変更できます。

数値調整
max-width:760px;
760pxは全体の最大横幅です。値を大きくすると横幅が広くなります。

padding:32px;
32pxは全体の内側余白です。値を変更すると余白が変わります。

gap:14px;
14pxは横並びに表示する項目同士の間隔です。値を大きくすると項目同士が離れて表示されます。

min-height:54px;
54pxは各項目の高さです。値を変更するとクリックしやすさや見た目が変わります。

font-size:22px;
22pxはタイトルの文字サイズです。値を変更するとタイトルの大きさが変わります。

font-size:16px;
16pxは説明文と項目名の文字サイズです。値を変更すると文字の大きさが変わります。

border-radius:18px;
18pxは全体カードの角丸です。値を変更すると丸みが変わります。

border-radius:10px;
10pxは各ラジオボタン項目の角丸です。値を変更すると項目の角の丸みが変わります。

width:20px;
height:20px;
20pxはラジオボタン本体のサイズです。値を変更するとラジオボタンの大きさが変わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssでwidth:100%、max-width、flex-wrap、padding、media queryを使用しているため、画面幅が狭くなると項目が自動で折り返され、スマートフォン・タブレット・PCで快適に利用できます。


こちらもおすすめ


コメント