チェックされていない場合は、取得した1つの画像を使用し、チェックされている場合は別の画像を使用するように、いくつかのチェックボックスを設定しようとしています。これが私の現在のチェックボックスです。
<input type="checkbox" name="fordCheckBox" value="Ford">
各チェックボックスの背景画像を設定するために、次のCSSも使用しています。
input[type=checkbox][name=fordCheckBox] {
background:url("https://pbs.twimg.com/profile_images/550291079719698432/LbybHjIh.jpeg") no-repeat;
height: 25px;
width: 25px;
background-size: 50%;
}
input[type=checkbox][name=fordCheckBox]:checked {
background:url("http://contentservice.mc.reyrey.net/image_v1.0.0/2267461") no-repeat;
height: 25px;
width: 25px;
background-size: 50%;
}
私の JSFiddleの例 を見るとわかるように、アイコンは正しいサイズですが、背景画像を本来のように設定することはありません。助言がありますか?
ラベルだけでできます
input[type=checkbox] {
display:none;
}
input[type=checkbox] + label {
display:inline-block;
padding: 0 0 0 0px;
background:url("https://pbs.twimg.com/profile_images/550291079719698432/LbybHjIh.jpeg") no-repeat;
height: 125px;
width: 125px;;
background-size: 50%;
}
input[type=checkbox]:checked + label {
background:url("http://contentservice.mc.reyrey.net/image_v1.0.0/2267461") no-repeat;
height: 125px;
width: 125px;
display:inline-block;
background-size: 50%;
}
HTML
<input type="checkbox" name="fordCheckBox" id="Ford" value="Ford">
<label for="Ford"></label>
更新されたjsfiddleを確認してください https://jsfiddle.net/s4nr6q3d/
実際にチェックボックスを直接変更してはいけません。一部のブラウザは常にデフォルトのチェックボックスを表示します。通常は、入力IDフィールドにリンクされているチェックボックスのラベルを追加することによって行われます。例えば:
<input type='checkbox' id='x' name='fordCheckBox'>
<label for='x'></label>
次に、チェックボックスをdisplay: none
に設定すると、実際のCSSがラベルに適用されます。セレクタは次のようになります。input[type=checkbox]:checked + label
すべてを説明し、段階的に説明するのに役立つこの記事を見つけました。
私はこのCSSを使用しました。このCSSでは、チェックボックスがチェックされている場合、チェックボックスにチェック画像が配置されます。また、デフォルトでチェックボックスのサイズ、色、境界線を変更します。
input[type='checkbox'] {
-webkit-appearance: none;
width: 30px;
height: 30px;
background: white;
border-radius: 5px;
border: 2px solid #555;
vertical-align:middle;
}
input[type='checkbox']:checked {
background-image: url("Images/tick-sm.png");
background-size: 90%;
background-position: right center;
background-repeat: no-repeat;
}
「Images/tick-sm.png」を独自の画像に置き換えます。
チェックされていない状態でも別の背景が必要な場合は、2番目のブロックの同じ内容を最初のブロックに追加し、画像を置き換えます。