0

私は次の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 を追加することを恐れています。:( 私は何をすべきか?

4

1 に答える 1

1

もちろん、CSS にコメントを入れることもできます。

ただし、より良い方法は、単に IE 条件付きコメントを使用して、そのコードを IE < 9 に含めないことです。

于 2012-10-18T18:45:23.203 に答える