ラジオボタンとチェックボックス効果の純粋な CSS 実装例

ラジオボタンとチェックボックス効果の純粋な CSS 実装例

ラジオボタンとチェックボックス

ラジオボタンとチェックボックスの効果を実現するための純粋な CSS

ラジオをリセット

PC プロジェクトの開発では、ラジオ ボタンやチェックボックス コンポーネントがよく使用されます。ただし、ネイティブ スタイルはデザイナーのデザイン スタイルとあまり一致しないため、サードパーティのモジュールを参照して実装したり、JS などの他の方法でハッキングしたりすることがよくあります。これにより、コードの量が増えるだけでなく、非常に複雑になるため、ネイティブの input[radio] と input[checkbox] に依存する純粋な CSS 実装があります。主なコードは次のとおりです。

HTMLメインコード

<div class="reset-radio">
    <input チェック type="radio" id="age1" name="age">
    <span class="real-target"></span>
</div>

CSSコード、ここでは主に子ノードスパンを介して入力と連携します:チェックされた兄弟セレクターを使用してスタイルを変更します

.リセットラジオ{
    表示: インラインブロック;
    位置: 相対的;
    幅: 16px;
    高さ: 16px;
}

.reset-radio .real-target {
    zインデックス: 1;
    幅: 100%;
    高さ: 100%;
    位置: 絶対;
    表示: インラインブロック;
    背景: #ffffff;
    境界線: 1px 実線 #dadde0;
    境界線の半径: 100%;
    上: 0;
    左: 0;
    下部: 0;
}

.reset-radio 入力[type=radio] {
    カーソル: ポインタ;
    zインデックス: 2;
    幅: 16px;
    高さ: 16px;
    不透明度: 0;
    位置: 絶対;
    左: 0;
    上: 0;
    マージン: 0;
    右: 0;
    下部: 0;
}

.reset-radio 入力:チェック済み+スパン {
    境界線の色: #48b4ec;
}

.reset-radio 入力:チェック済み+span::before {
    コンテンツ: '';
    位置: 絶対;
    背景: #48b4ec;
    幅: 6px;
    高さ: 6px;
    上位: 50%;
    左: 50%;
    変換: translate(-50%, -50%);
    境界線の半径: 100%;
}

チェックボックスをリセット

reset-checkbox の原理は同じなので、詳細には触れません。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQL カーソルの定義と使用法

>>:  Promiseの紹介と基本的な使い方の簡単な分析

推薦する

Vue要素ツリーコントロールに点線を追加する詳細な説明

目次1. 成果を達成する2. 実装コード3. その他の実装要約する1. 成果を達成する 2. 実装コ...

MySQLビューの原理と使用法の詳細な説明

この記事では、例を使用して MySQL ビューの原理と使用方法を説明します。ご参考までに、詳細は以下...

ログインボックスのメールプロンプトを実装するネイティブJS

この記事では、登録またはログイン時に電子メール アドレスを入力する際のドロップダウン プロンプトのネ...

vue3.0+echarts は 3 次元の縦棒グラフを実現します

序文: Vue3.0はechartsの3次元縦棒グラフを実装します結果: 実装手順: 1. echa...

MySQL 最適化ソリューション リファレンス

最適化によって発生する可能性のある問題最適化は必ずしも単純な環境で実行されるわけではなく、実稼働環境...

MySQL でテーブル データを削除した後もディスク領域がまだ占有されているのはなぜですか?

目次1.MySQLデータ構造2. テーブルファイルのサイズは変更されておらず、MySQLの設計に関連...

マウスが画像のハイパーリンク上を通過するときに画像のサイズ(幅、高さ)を変更する CSS

マウスが画像の上を通過したときに画像のハイパーリンクを変更する方法:コードをコピーコードは次のとおり...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...

Linuxファイルコマンドの使用

1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...

Docker ベースの Selenium 分散環境の構築

1.画像をダウンロードするdocker pull selenium/hub docker pull ...

Windows Server 2019 のインストール (グラフィカル チュートリアル)

Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...

CSS により、子コンテナが親要素を超えます (子コンテナは親コンテナ内で浮動します)

序文場合によっては、次の図のような浮動効果の要件が必要になります。 成し遂げる標準的な通常の状況では...

HTML ページをスクロールするときに一部のコンテンツを固定位置に固定する方法

この記事では主に、レイアウトに役立つ、HTML ページ内の一部のコンテンツを固定してスクロール時にス...

MySql5.x を MySql8.x にアップグレードする方法と手順

MySQL 5.x と MySQL 8.0.X のいくつかの違いapplication.proper...