问题 我如何获得一个css伪元素:在没有Javascript的情况下检查在IE8中工作?


我有两个单选按钮,我需要在点击时设置背景颜色。我的代码适用于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;
}

http://jsfiddle.net/chrimbus/sXjyL/3/


10430
2017-07-25 22:00


起源

如果浏览器不支持CSS选择器,在这种情况下,除了 :checked那么我担心答案是'不'。 - David Thomas
对于找到这个主题的人请注意:在除IE8之外的所有浏览器中,您可以在不使用JS的情况下对CSS进行CSS样式化。下面的答案描述了如何使用JS来支持IE8。 - nthChild


答案:


而IE8 理解 相邻的兄弟选择器,它 不明白 该 checked 伪元素,所以,不幸的是,你不能只使用CSS使你的代码IE8友好。

看一眼 Selectivizr 要么 IE7.js 用于JavaScript解决方案。


12
2017-07-25 22:30





你可以试试这个:

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

1
2018-06-04 15:28



如果页面加载了checked =“checked”,这确实有效。但请注意,取消选中输入不会改变它的外观。 - Harry B