1

如何使您的网站CSS3与IE9之前的IE9版本兼容而不使用插件如CSS3pie,normalize等?Internet Explorer 8和CSS3

CSS3Pie是我使用的一个很好的工具,但它变得不方便,因为我有一些边界左半径的元素不能与插件一起工作。

+1

[Progressive enhancement](http://en.wikipedia.org/wiki/Progressive_enhancement)或[Graceful degradation](http://en.wikipedia.org/wiki/Fault-tolerant_system) – c69

+0

@ c69:Information两者都会很好。我查看了主要网站,找不到任何东西 – Kevin

+2

您期待什么样的答案?在IE10之前的IE版本不支持CSS3的大部分。所以,你要么单独为他们编写代码,要么安装一些试图模拟丢失功能的东西(比如CSS3PIE),或者在IE的这些版本中运行时没有扩展功能。你还想要什么? – jfriend00

回答

2

IE8不支持CSS3。你已经知道了。如果你正在寻找一种在IE8中获得CSS圆角的方法,而没有任何破解,那么你会感到失望。

解决方案:

  1. 使用 “渐进增强” 技术,如CSS3Pie,你已经知道了。几乎所有这些都是基于Javascript的黑客,并没有一个是完美的。你已经知道CSS3Pie的问题。你所讨论的问题是一个相对较小的问题,并且容易解决;如果你不愿意解决这个问题,那么对你来说不太可能有更好的选择。

    相当全面的这些polyfills的名单可以在这里找到:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

  2. 优雅降级。这基本上意味着接受旧的浏览器缺少一些功能,并编写您的网站,以便如果这些功能缺失,那么它仍然有效;也许不是很好,但可用。在border-radius的情况下,这很容易:只要接受它在IE8中不起作用。圆角很好,但是如果没有它们,网站不会被破坏。

  3. Chrome Frame。这是一个由Google编写的IE插件,允许它使用与Chrome浏览器相同的呈现引擎呈现网页。这对浏览器的胆量是一大挑战,但它确实运行良好;不用担心这些缺失的功能和渲染故障。但是,它要求最终用户安装插件,所以虽然它作为一个选项很好,并且您可以指定它在可用时使用,但只有在您可以控制最终用户的系统时才能真正依靠它,例如在公司网络中,您可以确保它安装在所有机器上。

这些是你的选择。

+0

好的答案,特别是第2点。我认为网络开发人员应该将优雅的降级视为大多数情况下的第一个也是最好的解决方案。 –