2011-10-05 56 views
4

這個問題已經在htc files: Why not to use them?被問到了,但答案並沒有真正回答任何問題。爲什麼CSS3 PIE和其他類似的腳本無處使用?

問題是,爲什麼像CSS3 PIE 沒有在許多網站上使用?我希望較小的人不知道它,但引起我注意的一個是Twitter,他沒有使用它。

這是因爲它不是標準嗎?還是會導致網站明顯的減速?

謝謝你的回覆。

+0

是不是css3pie IE瀏覽器?這不就是我們掙扎多年後擺脫的東西嗎? – Johan

+1

@Johan是的,它只是IE,但它是一個polyfill,其唯一目的是使IE的行爲更像其他瀏覽器。所以實際上它允許開發人員從編寫特定於瀏覽器的代碼中脫身。 :) – lojjic

回答

15

我不能爲大家說話,但我的感覺是,你沒有看到像這樣的工具在使用上的大型網站,因爲:

1)他們承擔一定的性能開銷。特別是CSS3 PIE在使用約二十個元素後開始創建顯着的渲染延遲(根據我的經驗,YMMV)。由於這個原因,它在大頁面上的使用可能導致比保存下載圖像資源的時間更長的渲染延遲。

2)他們開始顯示錯誤與複雜的DOM變化。許多動畫,顯示/隱藏等有時會導致PIE不同步。

3)與#2相關,增加的抽象層(及其相關的錯誤)可能會對具有複雜代碼庫的大型開發團隊造成損害。如果您開始花費更多的時間來調試抽象,而不是簡單地創建圓角圖像,那麼該工具就會受到阻礙。

我在這裏專門講述CSS3 PIE,因爲它對我來說非常親近(我是它的創建者),但類似的注意事項適用於像Selectivizr這樣的其他polyfills。這適用於任何工具:您總是必須根據您的特定需求評估優點/缺點。例如,由於上述原因,我不會推薦PIE用於像Twitter這樣的高流量,性能至關重要,高度互動的網站,但它確實照亮了更簡單更靜態的設計。

...另一個想法是,在許多情況下,只是讓IE降級到方角等等,這是完全有效的。如果可能,根據您的特定情況,這通常是IMO的首選方法。所以在這種情況下,並不是由於對該工具的任何評估,而只是一個決定,該工具提供的內容根本就不是必需的。 :)

+0

謝謝你的回答造物主。它一直在奇妙地工作,直到我開始使用動畫。 –

+0

好吧,你正在將運行在IE瀏覽器的Javascript虛擬機上的東西與本機運行的東西進行比較。這是預期的:D –

相關問題