有没有办法让IE8不忽略它只能部分理解的CSS规则?
我只是遇到了我觉得很荒谬的行为。如果IE8不理解规则的一部分,它会忽略整个规则:有没有办法让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
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用户是你的用户基础的一大部分,考虑做这个服务器端。