根据this page,:nth-child应该在IE9中工作,我之前尝试过它并且工作正常,但在this page上,它似乎没有用。在Chrome中查看该页面以查看预期的行为,在IE中,您会看到它无效。您可以通过Web检查器看到这一点,但供您参考,相关的CSS行是;
.ad_widget:nth-child(3n+2) { background: #efefef; }
.ad_mrow {background: #efefef;}`
我很茫然。有什么想法吗?
答案 0 :(得分:18)
由于某些原因我无法理解,IE9默认使用兼容模式查看Intranet站点,或者将HTML页面存储为PC上的文件。兼容模式意味着“像愚蠢的旧浏览器一样渲染东西”。这意味着,当您为网站设计内容并尝试从IE9中最喜欢的IDE进行预览时,CSS3的内容都不起作用。你必须点击工具 - >' IE9菜单中的兼容性视图设置,然后取消选中“在兼容性视图中显示互联网站点”的讨厌复选框。从那时起,可怜的浏览器就像任何理智的浏览器,如Safari。他们为什么这么做?天堂只知道,但由于我一直责怪我的代码,我花了很长时间才发现这个简单的修复。
答案 1 :(得分:8)
他们在这里看起来一样。你确定你没有处于兼容模式吗?
答案 2 :(得分:2)
我的IE9版本被锁定在IE8渲染模式,该模式未应用以下选择器:
.parentClass > div:nth-child(n+2) .childClass
您可以在此处找到更改选项的选项:
答案 3 :(得分:0)
它似乎对我有用。
答案 4 :(得分:-3)
<!DOCTYPE html>
不会停止quirk模式,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
会这样做。