Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法让IE8不忽略它只能部分理解的CSS规则?_Css_Internet Explorer 8_Css Selectors - Fatal编程技术网

有没有办法让IE8不忽略它只能部分理解的CSS规则?

有没有办法让IE8不忽略它只能部分理解的CSS规则?,css,internet-explorer-8,css-selectors,Css,Internet Explorer 8,Css Selectors,我只是遇到了我觉得很荒谬的行为。如果IE8不理解规则的一部分,它会忽略整个规则: input[type=radio]:checked, input.checked { /* Some CSS */ } 我已经让IE8特定的JS添加了.checked类,但是因为它不理解:checked,所以它忽略了整个事情,所以我现在不得不有几个规则: input[type=radio]:checked{ /* Some CSS */ } input.checked { /* The e

我只是遇到了我觉得很荒谬的行为。如果IE8不理解规则的一部分,它会忽略整个规则:

input[type=radio]:checked,
input.checked {
    /* Some CSS */
}
我已经让IE8特定的JS添加了
.checked
类,但是因为它不理解
:checked
,所以它忽略了整个事情,所以我现在不得不有几个规则:

input[type=radio]:checked{
    /* Some CSS */
}
input.checked {
    /* The exact same CSS */
}
所以我的问题是——有没有人知道一种方法可以让IE8及以下版本忽略
:checked
,而不是抛弃整个规则


非常基本的示例:

您可以使用一个库,例如为IE提供较新的选择器。

如果先使用“已理解”规则,会发生什么情况?e、 g.
input.checked,input[type=radio]:checked
?这不是荒谬的行为。这一次,IE8的操作依据:
如果选择器中的任何地方出现错误,则应忽略整个语句。不过,不确定是否有解决办法。作为记录,如果您要添加
.checked
类,您最好对所有浏览器都这样做,并消除浏览器检测和规则重复的混乱。@BoltClock-我不记得我为什么这么做(那是两年前),但是IE会在不同的时间在复选框上触发
change
事件,因此有时候只处理IE会更容易,而不需要弄清楚这是否是
事件。在
onChange
事件中选中
意味着它被选中或现在被选中是唯一一个使用JS修复CSS的人,它只适用于较旧的浏览器,而且它确实允许大多数人只使用CSS。我曾经有过这样的感觉,但现在我意识到HTML+CSS+JS是一个平台,对于大多数项目来说,你已经依赖这三个平台来完成工作。请记住,虽然CSS可以并行下载和解析,但JS不会。如果IE8用户是你的用户基础的一大部分,考虑做这个服务器端。