[英]CSS expressions vs Filters and Javascript for internet explorer
CSS表達式和CSS過濾器有什么區別?
兩者都對頁面速度不利嗎?
如果在其他瀏覽器中使用純CSS可以實現某些功能,但僅適用於IE,則只能通過CSS表達式或CSS過濾器或Javascript實現。 如果我們擔心頁面速度,那我們應該總是選擇Javascript嗎。
Javascript的渲染速度是否會比CSS Filter
或Expression
解決方案更快?
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,您可以控制代碼的運行時間,例如onload
或onresize
。
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表達式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.