いろいろな形のラジオボタンを作る方法【HTML/CSS・サンプルコード付き】

ラジオボタン

いろいろな形のラジオボタンを作る方法

いろいろな形のラジオボタンを作る方法を紹介します。標準的な丸いラジオボタンだけでなく、四角形や角丸、ボタン風、カード風など、見た目の異なるラジオボタンをHTMLとCSSだけで実装できるサンプルです。JavaScriptを使用しないため、シンプルな構成で導入できます。

このサンプルでは、それぞれ異なるデザインのラジオボタンを1つの画面で比較しながら確認できます。お問い合わせフォームや設定画面、会員登録画面、ECサイトの商品オプション選択など、デザインや用途に応じて最適なラジオボタンを選びたい場面で役立ちます。すべてラジオボタン本来の動作を利用しており、常に1つだけ選択できる仕様です。

各ラジオボタンの色、サイズ、角丸、余白、枠線などはCSSから自由に変更できます。サイトデザインに合わせて見た目を調整しやすく、さまざまなフォームへ応用できるサンプルとして活用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

いろいろな形のラジオボタン

形の異なるラジオボタンをクリックして選択してください。

丸型
四角型
角丸型
ひし形
横長型
二重丸型

常に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>

  <!-- 同じsampleフォルダ内のCSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- いろいろな形のラジオボタン全体 -->
  <div class="various-radio-button-shapes_wrap">

    <!-- ラジオボタンエリアのタイトル -->
    <div class="various-radio-button-shapes_title">
      いろいろな形のラジオボタン
    </div>

    <!-- 操作方法を案内する説明文 -->
    <p class="various-radio-button-shapes_text">
      形の異なる選択肢から1つだけ選択できます。
    </p>

    <!-- 6種類のラジオボタン一覧 -->
    <div class="various-radio-button-shapes_list">

      <!-- 丸型ラジオボタン -->
      <div class="various-radio-button-shapes_item">

        <!-- デザイン名 -->
        <div class="various-radio-button-shapes_name">
          丸型
        </div>

        <!--
          丸型の選択項目

          name属性は6項目すべて同じ値にする。
          同じname属性を使用することで、常に1つだけ選択できる。
        -->
        <label class="various-radio-button-shapes_option various-radio-button-shapes_option--round">

          <!--
            value属性にはフォーム送信時に使用する値を指定する。
            用途に合わせてroundの部分を変更可能。
          -->
          <input
            class="various-radio-button-shapes_input"
            type="radio"
            name="radio-shape"
            value="round">

          <!-- 丸型の選択マーク -->
          <span class="various-radio-button-shapes_mark"></span>

          <!-- 画面に表示する項目名 -->
          <span class="various-radio-button-shapes_label">
            選択肢
          </span>

        </label>

      </div>

      <!-- 四角型ラジオボタン -->
      <div class="various-radio-button-shapes_item">

        <!-- デザイン名 -->
        <div class="various-radio-button-shapes_name">
          四角型
        </div>

        <!-- 四角型の選択項目 -->
        <label class="various-radio-button-shapes_option various-radio-button-shapes_option--square">

          <!-- value属性は用途に合わせて変更可能 -->
          <input
            class="various-radio-button-shapes_input"
            type="radio"
            name="radio-shape"
            value="square">

          <!-- 四角型の選択マーク -->
          <span class="various-radio-button-shapes_mark"></span>

          <!-- 画面に表示する項目名 -->
          <span class="various-radio-button-shapes_label">
            選択肢
          </span>

        </label>

      </div>

      <!-- 角丸型ラジオボタン -->
      <div class="various-radio-button-shapes_item">

        <!-- デザイン名 -->
        <div class="various-radio-button-shapes_name">
          角丸型
        </div>

        <!-- 角丸型の選択項目 -->
        <label class="various-radio-button-shapes_option various-radio-button-shapes_option--rounded">

          <!-- value属性は用途に合わせて変更可能 -->
          <input
            class="various-radio-button-shapes_input"
            type="radio"
            name="radio-shape"
            value="rounded">

          <!-- 角丸型の選択マーク -->
          <span class="various-radio-button-shapes_mark"></span>

          <!-- 画面に表示する項目名 -->
          <span class="various-radio-button-shapes_label">
            選択肢
          </span>

        </label>

      </div>

      <!-- ひし形ラジオボタン -->
      <div class="various-radio-button-shapes_item">

        <!-- デザイン名 -->
        <div class="various-radio-button-shapes_name">
          ひし形
        </div>

        <!-- ひし形の選択項目 -->
        <label class="various-radio-button-shapes_option various-radio-button-shapes_option--diamond">

          <!-- value属性は用途に合わせて変更可能 -->
          <input
            class="various-radio-button-shapes_input"
            type="radio"
            name="radio-shape"
            value="diamond">

          <!-- ひし形の選択マーク -->
          <span class="various-radio-button-shapes_mark"></span>

          <!-- 画面に表示する項目名 -->
          <span class="various-radio-button-shapes_label">
            選択肢
          </span>

        </label>

      </div>

      <!-- 横長型ラジオボタン -->
      <div class="various-radio-button-shapes_item">

        <!-- デザイン名 -->
        <div class="various-radio-button-shapes_name">
          横長型
        </div>

        <!-- 横長型の選択項目 -->
        <label class="various-radio-button-shapes_option various-radio-button-shapes_option--wide">

          <!-- value属性は用途に合わせて変更可能 -->
          <input
            class="various-radio-button-shapes_input"
            type="radio"
            name="radio-shape"
            value="wide">

          <!-- 横長型の選択マーク -->
          <span class="various-radio-button-shapes_mark"></span>

          <!-- 画面に表示する項目名 -->
          <span class="various-radio-button-shapes_label">
            選択肢
          </span>

        </label>

      </div>

      <!-- 二重丸型ラジオボタン -->
      <div class="various-radio-button-shapes_item">

        <!-- デザイン名 -->
        <div class="various-radio-button-shapes_name">
          二重丸型
        </div>

        <!-- 二重丸型の選択項目 -->
        <label class="various-radio-button-shapes_option various-radio-button-shapes_option--double">

          <!-- value属性は用途に合わせて変更可能 -->
          <input
            class="various-radio-button-shapes_input"
            type="radio"
            name="radio-shape"
            value="double">

          <!-- 二重丸型の選択マーク -->
          <span class="various-radio-button-shapes_mark"></span>

          <!-- 画面に表示する項目名 -->
          <span class="various-radio-button-shapes_label">
            選択肢
          </span>

        </label>

      </div>

    </div>

    <!-- ラジオボタンの動作を案内する補足文 -->
    <p class="various-radio-button-shapes_note">
      各項目をクリックすると選択が切り替わり、常に1つだけ選択されます。
    </p>

  </div>

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

ファイル構成と設置方法

このサンプルはHTMLとCSSだけで動作する、いろいろな形のラジオボタンです。HTMLファイルにラジオボタンの構造を記述し、CSSファイルで丸型・四角型・角丸型・ひし形・横長型・二重丸型の6種類のデザインを切り替えています。JavaScriptは使用しておらず、ブラウザ標準のラジオボタン機能を利用しているため、初心者でも導入しやすい構成です。

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

各ファイルの役割
index.html
ラジオボタンのHTML構造を記述するファイルです。選択肢の追加・削除、表示する項目名、value属性、name属性などを編集できます。形ごとのクラスを変更することで、表示するデザインを切り替えられます。

style.css
ラジオボタン全体のレイアウトや配色、枠線、角丸、選択時の表示、各形状のデザインを設定しています。丸型・四角型・角丸型・ひし形・横長型・二重丸型の見た目はこのファイルで管理します。

設置方法・使い方
sampleフォルダ内にindex.htmlとstyle.cssを配置します。
その後、sample/index.htmlをブラウザで開くと、そのまま動作を確認できます。JavaScriptや追加ライブラリは不要で、HTMLとCSSだけで利用できます。

カスタマイズできる内容
index.htmlでは選択肢名、value属性、デザインごとのクラス名、選択肢の数を変更できます。
style.cssでは文字色、背景色、枠線の色、角丸、ラジオボタンのサイズ、余白、カードサイズ、列数、形状ごとのデザイン、選択時の色、フォーカス表示などを自由に変更できます。

数値調整
style.css
max-width:900px; …… 全体の最大横幅です。大きくすると横幅が広くなります。
padding:36px; …… 全体の内側余白です。大きくすると余白が広くなります。
gap:20px; …… ラジオボタン同士の間隔です。大きくすると項目間の余白が広がります。
width:24px; height:24px; …… 標準のラジオボタンサイズです。大きくすると選択マークも大きくなります。
width:38px; …… 横長型ラジオボタンの横幅です。値を変更すると横長の長さが変わります。
border-radius:7px; …… 角丸型の丸みです。値を大きくするとより丸い形になります。
transition:.2s; …… 選択時のアニメーション時間です。値を大きくするとゆっくり切り替わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのmedia queryで画面幅に応じて表示列数を変更しています。PCでは3列、タブレットでは2列、スマートフォンでは1列表示になります。また、max-widthやpaddingを利用して画面サイズに合わせた見やすいレイアウトになるため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント