Css 为什么不是';t:第N个在IE9工作的孩子?

Css 为什么不是';t:第N个在IE9工作的孩子?,css,internet-explorer-9,Css,Internet Explorer 9,根据,第n个孩子应该在IE9中工作,我以前也试过,效果很好,但从现在开始,它似乎不起作用。在Chrome中查看页面以查看预期的行为,在IE中,您将看到它不起作用。您可能可以在web检查器中看到这一点,但作为参考,CSS的相关行是 .ad_widget:nth-child(3n+2) { background: #efefef; } .ad_mrow {background: #efefef;}` 我不知所措。有什么想法吗?它们在这里看起来都一样。你确定没有处于兼容模式吗?它似乎对我有效 由于某

根据,第n个孩子应该在IE9中工作,我以前也试过,效果很好,但从现在开始,它似乎不起作用。在Chrome中查看页面以查看预期的行为,在IE中,您将看到它不起作用。您可能可以在web检查器中看到这一点,但作为参考,CSS的相关行是

.ad_widget:nth-child(3n+2) { background: #efefef; }
.ad_mrow {background: #efefef;}`

我不知所措。有什么想法吗?

它们在这里看起来都一样。你确定没有处于兼容模式吗?

它似乎对我有效


由于某些原因,我无法理解,IE9默认为兼容模式,用于查看内部网站,或在PC上存储为文件的HTML页面。兼容模式意味着“像愚蠢的旧浏览器一样呈现内容”。这意味着,当你为一个网站设计东西,并试图在IE9中从你最喜欢的IDE预览时,CSS3的东西都不起作用。您必须单击IE9菜单中的工具->“兼容性视图设置”,然后取消选中“在兼容性视图中显示网络间站点”的讨厌复选框。从那时起,这个可怜的浏览器就像任何理智的浏览器一样工作,比如Safari。他们为什么这么做?天知道,但我花了很多时间才发现这个简单的修复方法,因为我一直在责怪我的代码

不会停止怪癖模式,
会停止。

我的IE9版本被锁定到IE8渲染模式,该模式未应用以下选择器:

 .parentClass > div:nth-child(n+2) .childClass
您可以在此处找到更改它的选项:


和在我的机器上。在IE9.0.8112.16421侧注:您可以通过页面内容周围的2px灰色边框判断它是否处于兼容模式。或者通过查看开发工具。看起来我处于兼容模式,但我不知道为什么。我设置了,这将触发标准模式,并且我没有“断页”图标来在模式之间切换。好的,问题是我在本地测试,出于一些奇怪的原因,这迫使IE9进入兼容模式。感谢您的帮助。您必须单击IE9菜单中的工具->“兼容性视图设置”,然后取消选中“在兼容性视图中显示Internet站点”这一讨厌的复选框。从那时起,一切都很顺利。(见下面我的答案)我全错了。。我认为IE的默认模式是“像一个愚蠢的老浏览器一样呈现东西”。这是一个延迟响应,但在HTML头部添加一个元标记:我总是为开发任务设置一个本地Web服务器(xampp很好)。这是一种最佳实践,它可以防止您所描述的各种问题。