Modernizr,html5shiv,ie7.js和CSS3 Pie。 哪个使用什么时候?

我刚刚开始在我的文档中使用HTML5和CSS3。 我知道需要使用Internet Explorer来加速使用这些新的标签和样式,但是我不知道在何时使用以及何时使用!

我的计划是使用html5shiv和IE9.js来查看HTML5标签以及透明PNG(以及其他任何讨厌的错误),但是现代Modernizr和CSS3 Pie引起了我的注意。

我的问题是,如果我使用Modernizr,它是否照顾我需要html5shiv以及IE9.js? 还是应该包括这些呢? 什么是重叠,如果有的话?

那么CSS3派做Modernizr或其他人没有做什么? 或相反亦然?

我感谢你们的帮助。 让我知道你做了什么!?

我已经有了所有这些的广泛的经验,每个使用了他们几年。

Modernizr的

包括HTML5shivfunction还有更多的function – 如果你不使用其他function,那么不要使用它,它会减慢页面加载速度,但是如果你需要的话,是值得的!

HTML5shiv

非常小,只是在IE中修复html5元素,没有别的。

CSS3PIE

允许您在旧版本的IE中使用边框半径,渐变和框阴影。 也可以在IE 6中允许使用PNG。为页面加载增加一个明显的延迟。

ie7.js(和ie9.js)

给你很多CSS3select器,最小和最大宽度,多个类和固定位置。 也可以有一个PNG修复,如果你喜欢。 似乎没有太多的东西慢下来。

结论

我的build议可以分为两类:

如果你只是使用新的(在互联网上是新的2年!)元素和CSS3select器,然后使用ie9.js + html5shiv。 这是轻量级的,只是让你继续下去,而不必记住IE6不支持任何东西。

如果你使用了很多CSS3的东西,那么CSS3PIE将会排除border-radius和box-shadow。 渐变支持似乎有点片,所以我一直使用后备图像。 Modernizr让你轻松地提供不同的属性给不同的支持浏览器。 我主要使用它来确定浏览器是否具有CSS转换和转换,因为它们对于任何图像滑块或内容轮播都很有用。 值得使用自定义工具,只包括你想要的function – webforms的东西显示一个文本框中有50几毫秒,所以它是值得禁用,如果你不想要它。

希望这是有帮助的!

我会build议你只使用你所需要的。 在支持您正在使用的function的浏览器中构build您的应用程序,并定期在您支持的其他浏览器中进行testing。 如果某些工作不正常,请find相应的修补程序,无论是html5shiv,IE9.js,Modernizr还是CSS3 Pie。 您不打算在一个页面中全部使用HTML5和CSS3中的所有新function,因此您不需要包含每个polyfill库。 等到你发现你正在使用的function有问题,然后尝试find必要的库来做到这一点。

我主要使用CSS3Pie …它很好。 但是,今天下午,我用我的笔记本电脑与我testing了它,并有一个问题…这是禁用一些CSS行…当我删除css3pie代码我的网站获得了两倍的速度…然后我来在讨论css3减速的人们的post中…所以现在我忙于find另一种方式IE7和IE8有边界半径和阴影。

如果你想使用它…请testing很多,因为它是非官方的修复