css expressionr,CSS Expression讲解
CSS Expression也稱為CSS表達(dá)式,它是動(dòng)態(tài)設(shè)置CSS屬性的強(qiáng)大方法,但也存在著一定的危險(xiǎn)性。
關(guān)于CSS Expression你可以參考的另外兩篇文章:
CSS中expression怎么用? CSS expression詳解
CSS2.0中的expression應(yīng)用
在CSS Expression中使用JavaScript表達(dá)式。CSS屬性根據(jù)JavaScript表達(dá)式的計(jì)算結(jié)果來設(shè)置。
CSS Expression在其它瀏覽器中不起作用,因此在跨瀏覽器的編碼中單獨(dú)針對(duì)IE設(shè)置時(shí)會(huì)比較有用。
從IE5開始支持CSS Expression。我們看下面的代碼:
background-color: expression( (new Date()).getHours()%2 ? "#F00" : "#00F" );
上面的代碼是使用CSS Expression,實(shí)現(xiàn)隔一個(gè)小時(shí)切換一次背景顏色。
CSS Expression的問題就在于它的計(jì)算頻率要比想象的多出很多。
不僅僅是在頁(yè)面顯示和縮放時(shí),就是在頁(yè)面滾動(dòng)、乃至移動(dòng)鼠標(biāo)時(shí)都會(huì)要重新計(jì)算一次。
給CSS Expression增加一個(gè)計(jì)數(shù)器可以跟蹤表達(dá)式的計(jì)算頻率。在頁(yè)面中隨便移動(dòng)鼠標(biāo)都可以輕松達(dá)到10000次以上的計(jì)算量。
一個(gè)減少CSS Expression計(jì)算次數(shù)的方法就是使用一次性的表達(dá)式,它在第一次運(yùn)行時(shí)將結(jié)果賦給指定的樣式屬性,并用這個(gè)屬性來代替CSS Expression。
如果樣式屬性必須在頁(yè)面周期內(nèi)動(dòng)態(tài)地改變,使用事件句柄來代替CSS表達(dá)式是一個(gè)可行辦法。
如果必須使用CSS Expression,一定要記住它們要計(jì)算成千上萬(wàn)次并且可能會(huì)對(duì)你頁(yè)面的性能產(chǎn)生影響。不要讓您的用戶感覺打開你的頁(yè)面,機(jī)器會(huì)變的很慢。
總結(jié)
以上是生活随笔為你收集整理的css expressionr,CSS Expression讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东莞市初中生中考计算机内容,2019年广
- 下一篇: jquery 操作CSS总结