2012-10-24 187 views
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點。我認爲網絡開發人員應該將優雅的降級視爲大多數情況下的第一個也是最好的解決方案。 –