私は次のcssを持っています:
.mcRow input.mcCheckbox {
display:none;
}
.mcRow input.mcCheckbox + label {
background: url('/media/img/pt/dhtml/mc_off.gif') no-repeat;
height: 19px;
width: 19px;
display:inline-block;
padding: 0px;
padding-left: 20px;
width: auto;
}
.mcRow input.mcCheckbox:checked + label {
background: url('/media/img/pt/dhtml/mc_on.gif') no-repeat;
}
.mcRow input.mcCheckbox.checked + label {
background: url('/media/img/pt/dhtml/mc_on.gif') no-repeat;
}
IE8 は CSS3 でうまく動作しないため、jQuery で切り替えられるバックアップ .checked クラスを含めました。JS が壊れていてもカスタム チェックボックスを表示したいので、CSS3 に :checked 疑似セレクターを含めておきたいのです。
上記の順序は IE 8 ではうまく機能しません。:checked ステートメント以降はすべて無視されるようです。
.mcRow input.mcCheckbox + label {
background: url('/media/img/pt/dhtml/mc_off.gif') no-repeat;
height: 19px;
width: 19px;
display:inline-block;
padding: 0px;
padding-left: 20px;
width: auto;
}
.mcRow input.mcCheckbox.checked + label {
background: url('/media/img/pt/dhtml/mc_on.gif') no-repeat;
}
.mcRow input.mcCheckbox:checked + label {
background: url('/media/img/pt/dhtml/mc_on.gif') no-repeat;
}
うまく動作します。これをファイルに追加し、誰かがこのステートメントの後に他の CSS を追加することを恐れています。:( 私は何をすべきか?