在我的网站项目中,我使用媒体查询和第n个子选择器。

IE8不支持现成的功能,但是可以使用polyfill来帮助他们:


Respond.jsmediatizrcss3-mediaqueries.js在IE8中启用媒体查询;
selectivizrie9.js启用第n个子选择器。


我的问题是我需要在媒体查询中使用nth-child。综合示例:


@media (min-width: 500px) {
  .foo:nth-child(2n) {
    color: pink;
  }
}


我需要此代码才能在IE8中工作。

问题在于selectivizr或ie9.js都无法解析媒体查询中的nth-child,而启用媒体查询的polyfill也无济于事,因为它们一起使用时会干扰nth-child polyfill。

请提出一种使该代码在IE8中工作的方法!

最佳答案

好的,我知道了。

Selectivizr和Respond均已修改为可以一起工作(12)。

问题在于,已经对Selectivizr 1.0.3b版本提交了必要的更改。截至2013年3月,尚未发布1.0.3b。它既不能在Selectivizr的官方网站上获得,也不能在CDN中获得。它只能是项目存储库中的obtained,并且现在仅提供未压缩的版本。

发布时响应更加及时,因此可以使用最新的正式版本。

请注意,应该首先包含Selectivizr,然后是响应。并且不要忘记在Selectivizr之前加入Selectivizr's requirements之一!因此正确的顺序是:


NWMatcher(或替代)
选择性
响应


而且不要使用IE9.js!它具有自己的媒体查询实现,并且与Respond一起使您的网站无法在IE

关于internet-explorer - IE8:使“nth-child”选择器在媒体查询中起作用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13587947/

10-09 15:20