Html 如何获得css伪元素:在没有Javascript的情况下在IE8中工作?

Html 如何获得css伪元素:在没有Javascript的情况下在IE8中工作?,html,forms,input,checked,Html,Forms,Input,Checked,我有两个单选按钮,我需要在单击时设置背景色。我的代码适用于除IE8之外的所有浏览器。这是否可能在不使用Javascript的情况下为IE8实现呢 <form> <input type="radio" id="m" name="gender" value="male"> <label for="m">male</label> <input type="radio" id="f" name="gender" value="

我有两个单选按钮,我需要在单击时设置背景色。我的代码适用于除IE8之外的所有浏览器。这是否可能在不使用Javascript的情况下为IE8实现呢

<form>
    <input type="radio" id="m" name="gender" value="male">
    <label for="m">male</label>
    <input type="radio" id="f" name="gender" value="female">
    <label for="f">female</label>
</form>

input:checked + label{
    background:red;
}

男性的
女性的
输入:选中+标签{
背景:红色;
}

当IE8使用相邻同级选择器时,它会选中
伪元素,因此,不幸的是,仅使用CSS无法使代码IE8友好

查看或查找JavaScript解决方案。

您可以尝试以下方法:

input[checked=checked] + label{
    background:red;
}

如果浏览器不支持CSS选择器,在这种情况下,除了
:checked
,没有其他选择,那么恐怕答案是“否”。对于查找此主题的用户,请注意:在除IE8之外的所有浏览器中,您都可以使用CSS设置选中状态的样式,而无需使用JS。下面的答案描述了如何使用JS来支持IE8。如果页面加载时使用checked=“checked”的话,这是可行的。但请注意,取消选中输入不会改变其外观。