首頁  >  文章  >  web前端  >  如何優化css expression效能

如何優化css expression效能

藏色散人
藏色散人原創
2021-02-07 10:34:241782瀏覽

優化css expression效能的方法:1、將CSS Expression在符合的元素中只執行一次;2、在CSS Expression語句體裡,將觸發該Expression的CSS屬性重設即可。

如何優化css expression效能

本文操作環境:Windows7系統、HTML5&&CSS3、Dell G3電腦。

如何優化css expression效能?

IE 瀏覽器中 CSS Expression 特性的最大的問題:會重複執行,每秒鐘可能執行了成百上千次,有嚴重的效能問題。如

何對 CSS Expression 進行最佳化呢?

至少:如果我們將 CSS Expression 在符合的元素中只執行一次,效能將會提升很大。

old9 在 《CSS Expression Reloaded》一文中提供了一個解決方案:

在 CSS Expression 語句體裡,將觸發該 Expression 的 CSS 屬性重設。

推薦:《css影片教學

例如:

div {
    zoom: expression(function(el){el.style.zoom = "1"; alert(el.tagName);}(this));
}

補充幾點:

CSS Expression 執行在任一個匹配的元素上。

在 CSS expression 內, 「this」關鍵字指向目前符合的 HTML 元素。

CSS 屬性選用一些不常用的屬性來觸發,觸發完重置回預設值。

還有一個類似的解決方式:

div {
    -singlex: expression(this.singlex ? 0 : (function(t) { 
    alert(t.tagName); t.singlex = 0; 
    } )(this));
}

但此程式碼並沒有完全解決 CSS Expression 最大的效能問題。因為每次觸發還是要去執行 Expression 腳本,例如你滾動滑鼠的中間滾輪。

最後強調,光是對 CSS Expression 做了優化,但並未說 CSS Expression 就不存在其他方面的問題。

以上是如何優化css expression效能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn