ラジオ ボタンのラジオを美しくするこの純粋な CSS3 メソッドは、次の状況に適しています:
1. IE8 と互換性がある必要がある場合は、IE ハックを作成して削除する必要があります。スタイル。
2. ラジオ ボタンの選択スタイルを持つ円は CSS で作成できるため、ラジオ ボタン ラジオのみをサポートします。ただし、チェックボックスの選択効果には画像またはアイコン フォント ライブラリが必要です
3。切り替え効果をサポートするために必要です
下の画像は最終的な効果です 画像:
HTMLコード:
<label for="man" class="radio"> <span class="radio-bg"></span> <input type="radio" name="sex" id="man" value="男" checked="checked" /> 男 <span class="radio-on"></span> </label> <label for="woman" class="radio"> <span class="radio-bg"></span> <input type="radio" name="sex" id="woman" value="女" /> 女 <span class="radio-on"></span> </label>
CSSコード:
.radio{ display: inline-block; position: relative; line-height: 18px; margin-right: 10px; cursor: pointer; } .radio input{ display: none; } .radio .radio-bg{ display: inline-block; height: 18px; width: 18px; margin-right: 5px; padding: 0; background-color: #45bcb8; border-radius: 100%; vertical-align: top; box-shadow: 0 1px 15px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.1) inset, 1px -1px 2px rgba(0, 0, 0, 0.1); cursor: pointer; transition: all 0.2s ease; } .radio .radio-on{ display: none; } .radio input:checked + span.radio-on{ width: 10px; height: 10px; position: absolute; border-radius: 100%; background: #FFFFFF; top: 4px; left: 4px; box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.3), 0 0 1px rgba(255, 255, 255, 0.4) inset; background-image: linear-gradient(#ffffff 0, #e7e7e7 100%); transform: scale(0, 0); transition: all 0.2s ease; transform: scale(1, 1); display: inline-block; }
この中で最も重要なことメソッドは選択したエフェクトのクラス名です: .radio input:checked + sparradio-on
+ は CSS2 の疑似クラスであり、その意味は次のとおりです: p+p は
の直後にあるすべての
要素を選択します。 ;p>要素。
つまり、選択された (:checked) 入力を見つけて、選択された円エフェクトを作成した後、クラス名が radio-on のスパン要素を見つけます。
ラベルを円にしてインターネット上でラベルを美しくする方法はたくさんありますが、この場合、ラジオ選択テキストをラベルの外側に配置する必要があるため、ラジオ選択効果が得られません。テキストをクリックすると切り替わります。
そこで、クラス名 radio-bg のスパンをラベルに追加して、特に後ろに大きな円を作成し、クラス名 radio-on のスパンを使用して、選択した小さな円を前面に作成しました。
これにより、クリックしたラベルのテキストが保持され、ラジオ選択の効果も切り替えることができます。
以上が純粋な CSS3 を使用してラジオ ボタンのサンプル コード共有を美しくする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。