在 IE 8 和 7 中使用较新的 CSS3 选择器的首选方法是啥?

Posted

技术标签:

【中文标题】在 IE 8 和 7 中使用较新的 CSS3 选择器的首选方法是啥?【英文标题】:What is preferred method to use newer CSS3 selectors in IE 8 and 7?在 IE 8 和 7 中使用较新的 CSS3 选择器的首选方法是什么? 【发布时间】:2012-01-31 17:08:31 【问题描述】:

在 IE 8 和 7 中使用较新的 CSS3 选择器的首选方法是什么?与 IE 相比,Fireofx、Chrome、Safari 和 Opera 对 CSS 选择器的支持更好。

是否有一种轻量级的方式来支持 IE 中的所有 secetors。我问的不是特征检测 (Modernizr) 和在 IE 中模拟 CSS3 效果 (PIE)。

我要求使用 IE 中的所有选择器。因此,当我将编写 CSS 时,我可以优化我的 css 和 html,明智地使用新的选择器。

我几乎在所有项目中都使用了 Modernizr(包括 HTML Shim)、jQuery。我知道 IE7.js,但我想知道是否还有其他更好的选择,因为 IE7.JS 在我们添加现有网站时有时会破坏布局。

【问题讨论】:

IE9 也支持大量的 CSS3 选择器。主要问题是IE7和IE8。 @BoltClock - 对。我修改了问题 @BoltClock - 但是根据这个列表,一些选择器在 IE9 中不受支持 msdn.microsoft.com/library/cc351024.aspx 听起来您已经了解所有最好的工具。不幸的事实是,没有办法简单地让一切都以零缺陷完美运行。您应该能够使用 CSS2 选择器完成大部分所需的工作。用 javascript/HTC 填补旧浏览器的空白。 @Jitendra Vyas:是的,不是全部。尽管如此,IMO 仍然不是什么大问题......事实上,即使 IE7 和 IE8 也支持高级属性选择器和通用兄弟组合 ~ 相当不错。 【参考方案1】:

当我第一次开始使用 CSS3 选择器时,我有点犹豫,因为浏览器兼容,但我发现当我使用它们时,它只是在我试图实现像素完美布局的非常模糊的情况下。如果事实证明我需要将它们用于更重要的事情,我总是会转向在我的标记中添加更多类,而不是依赖于 Javascript。

有一天,也许我们可以轻松地使用 CSS3 选择器,而不必担心人们支持它们。 We've already seen the downfall of one bad browser,所以这真的只是时间问题。

这是一篇关于我喜欢的主题的相关文章:http://www.alistapart.com/articles/understandingprogressiveenhancement

【讨论】:

【参考方案2】:

Selectivizr 专门为此而设计。

【讨论】:

它似乎不是一个独立的库。如果与 NM watcher 一起使用,它支持所有选择器。但我认为因为我已经在使用 jQUery,所以我会将它与 jquery 一起使用,并且只会使用 Selectivizri 可以通过 jquery 实现的那些选择器。

以上是关于在 IE 8 和 7 中使用较新的 CSS3 选择器的首选方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

通过IE私有滤镜让IE6 7 8支持背景透明,内容不透明效果。

如何解决IE7中使用CSS3 Pie时元素上边距消失的问题

如何将我的 Visual Studio Code 终端上的 python 版本 2.7.16 更改为较新的 python 版本?

重学css3(概览)

CSS3 和 PIE 在 IE 8 中不起作用

addEventListener以及滑轮滑动事件的应用