簡體   English   中英

CSS表達式與Internet Explorer的過濾器和Javascript

[英]CSS expressions vs Filters and Javascript for internet explorer

CSS表達式和CSS過濾器有什么區別?

兩者都對頁面速度不利嗎?

如果在其他瀏覽器中使用純CSS可以實現某些功能,但僅適用於IE,則只能通過CSS表達式或CSS過濾器或Javascript實現。 如果我們擔心頁面速度,那我們應該總是選擇Javascript嗎。

Javascript的渲染速度是否會比CSS FilterExpression解決方案更快?


Pekka回答后更新

好的,所以應該避免CSS表達式,這很清楚。

現在我想了解過濾器

過濾器示例

#myElement {
    opacity: .4; /* other browsers */
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); /* this works in IE6, IE7, and IE8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=40)"; /* this works in IE8 only */
}

要在IE6中獲得PNG透明度並在IE 6,7,8中獲得一些CSS 3效果,我們可以使用CSS IE Filters

http://www.smashingmagazine.com/2010/04/28/css3-solutions-for-internet-explorer/

並且還提供了一些Javascript替代方案。

Javascript渲染會比CSS Filter更快嗎?

注意: filter屬性無效的CSS

在較舊版本的IE中,如果可以選擇使用CSS過濾器或CSS表達式,則過濾器是更好的選擇。

但是,我無法想到您可以選擇過濾器表達式的單個方案。

您應該偏愛普通Javascript而非表達式,因為表達式會不斷 ,例如在mousemove 使用純Javascript,您可以控制代碼的運行時間,例如onloadonresize

查看有關此主題的Google 文檔

CSS表達式會降低渲染性能; 將其替換為替代品將改善IE用戶的瀏覽器渲染。

注意:本節中的最佳實踐僅適用於支持CSS表達式的Internet Explorer 5至7。 CSS表達式在Internet Explorer 8中已棄用,其他瀏覽器不支持。


IE中使用了過濾器的東西,通常沒有辦法替換它們。

相反,沒有辦法“使用Javascript”,因為Javascript只會動態地應用過濾器。 透明度就是這種情況,而rgba漸變濾鏡也可以解決。


回應您的編輯:

並且還提供了一些Javascript替代方案。

Javascript渲染會比CSS Filter更快嗎?

在您鏈接的文章中,沒有解決方法具有filter解決方案 Javascript解決方案(為方便起見,這些解決方案只是自動應用相同的filter )。

如果您指的是IE6的CSS表達式,則應完全刪除它們並使用jQuery。

IE CSS表達式

  • 過去只能在IE 7中使用
  • 已由Microsoft停產
  • 實現jQuery無法做的任何事情,只是更加方便
  • 根據這個 ,他們曾經要求啟用JavaScript
  • 總之,這是一個壞主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM