是否有任何单一框架可以构建一个css3,html5网站,该网站兼容所有浏览器,包括IE7及更高版本? http://html5boilerplate.com/样板可以帮我解决这个问题吗?
答案 0 :(得分:13)
您永远不会获取IE7或IE8渲染引擎,以实现与HTML5,CSS3和其他现代技术的完全兼容。他们根本没有能力。
然而,有一些黑客,工具和插件可以帮助您解决问题。
像Modernizr这样的工具可以帮助您检测哪些功能受到支持,让您的网站有机会解决它。
jQuery无论如何都是一个很棒的库,但在这种情况下特别好,因为它抽象了很多浏览器与开发人员的差异。有些东西在大多数浏览器中很容易,但在IE中真的很痛苦; jQuery需要很多这样的东西,无论如何都很容易。
Dean Edwards' IE7.js和Selectivzr都是Javascript库,它们为旧版本中缺少的许多CSS选择器提供IE支持。这使您可以编写样式表而无需担心IE支持的内容。 (IE7.js也修复了IE的其他一些故障和缺失功能)
CSS3Pie是IE的黑客,它增加了对CSS border-radius
,渐变和box-shadow
的支持。
事实上,沿着这些线路存在大量的黑客攻击,所有这些都旨在为缺少的IE旧版本添加功能。 Modernizr的网站上有一个很大的列表:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills
然而,所有这一切都有一个重要的警告。速度。 IE< = 8是一个慢浏览器。它有一个缓慢的Javascript引擎。实际上所有这些黑客都是基于javascript的。您可能会在任何给定的站点上运行它们中的一些,但是尝试使用足够的它们来给IE提供完全支持HTML5和CSS3的任何东西都会使浏览器减慢到无法使用的程度。
但是还有另外一个角度可以解决这个问题,那就是Google的IE插件。这基本上将整个谷歌Chrome浏览器引擎安装到IE中。用户仍然在运行IE shell,但网页的呈现方式与最新版Chrome相同。
听起来不错,但当然并不完美。它的主要缺点是最终用户必须手动将其安装到他们的计算机上,这意味着您作为Web开发人员无法真正控制它是否存在。所以它不是你可以添加到你的网站,并希望一切都神奇地工作。
最后,您可能还对CanIUse.com感兴趣,它提供了各种功能的浏览器支持表,让您一目了然地看到每个浏览器的各种版本中支持的内容和内容。
答案 1 :(得分:1)
对于各种技术而言,HTML 5不仅仅是任何一件事或框架的总称。实际上,您所做的任何实现都应该优雅地降级 - 这就是使网站浏览器兼容的原因。检测浏览器支持的内容,然后选择传统友好的替代方案。
退房:http://accessites.org/site/2007/02/graceful-degradation-progressive-enhancement/
祝你好运。答案 2 :(得分:0)
Modernizr是一个开源JavaScript库,可帮助您构建下一代HTML5和CSS3驱动的网站。
MS将其包含在ASP.net MVC模板项目中
答案 3 :(得分:0)
html5boilerplate对你没有帮助。
正如其他人所说html5和css3是非常宽泛的术语,没有框架可以实现这两者提供的所有功能。实际上,在支持它们的浏览器中,它们并不是同样受支持的。而且,甚至W3C的人(编写html5和css3的规范)还没有确定它们将包含哪些功能或实现它们需要哪些步骤。你明白了......
但是..如果你将你的要求缩小到一些特定的功能,如视频,音频标签,画布绘图,漂亮的CSS效果,文件API或其他,你可以找到实现(或试图模仿)它们的框架跨浏览器方式的技术(或多或少)。