Mam następujące 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;
}
Ponieważ IE8 nie gra dobrze z CSS3, jazawierał kopię zapasową klasy .checked, która jest przełączana z jQuery. Chcę, aby moje niestandardowe pola wyboru były wyświetlane, nawet jeśli JS jest zepsuty, dlatego chcę zachować pseudo-selektor: zaznaczony w CSS3.
Powyższa kolejność nie działa dobrze w IE 8. Wygląda na to, że ignoruje wszystko po instrukcji: 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;
}
działa dobrze. Obawiam się, że dodam to do pliku i ktoś doda inny CSS po tym stwierdzeniu, nie wiedząc, że żaden z nich nie zostanie odczytany w IE8. :( Co powinienem zrobić?
Odpowiedzi:
1 dla odpowiedzi № 1Cóż, możesz oczywiście umieścić komentarz w CSS.
Jednak lepszą metodą może być użycie komentarzy warunkowych IE, aby nie uwzględnić tego kodu w IE <9.