您好,登錄后才能下訂單哦!
什么是css表達式,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
css表達式就是在css屬性后使用expression()連接一段JavaScript表達式,css屬性的值是JavaScript表達式的結果;語法格式“css屬性:expression(JavaScript表達式);”。
IE5及其以后版本支持在CSS中使用expression,用來把CSS屬性和Javascript腳本關聯起來,這里的CSS屬性可以是元素固有的屬性,也可以是自定義屬性。
css表達式就是在css屬性后使用expression()連接一段JavaScript表達式,css屬性的值是JavaScript表達式的結果。
在表達式中可以直接引用元素自身的屬性和方法,也可以使用其他瀏覽器對象。這個表達式就似乎是在這個元素的一個成員函數中一樣。
是不是感覺上面的文字有點晦澀?沒有關系,你只需要知道:我們可以通過expression把Javascript腳本寫放在css文件中,通過它來實現一些很方便的功能與效果。
表達式應用:
1、給元素固有屬性賦值 下面的實例是依照瀏覽器的大小來安置一個元素的位置。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>mid.lt263.com/mb</title> <style type="text/css"> #myDiv { position: absolute; width: 100px; height: 100px; background:#c00; left: expression(document.body.offsetWidth - 180 "px"); top: expression(document.body.offsetHeight - -80 "px"); text-align:center; line-height:90px; color:#fff; } </style> </head> <body> <div id="myDiv">mb5u.com</div> </body> </html>
2、給元素自定義屬性賦值
我們看下面的例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>mid.lt263.com/mb</title> <style type="text/css"> a {star:expression(this.onFocus=this.blur())} </style> </head> <body> <a href="#" _fcksavedurl="#">模板天下 - mid.lt263.com/mb </p> </body> </html>
說明:里面的star就是自己任意定義的屬性,你可以隨自己喜好另外定義,接著包含在expression()里的語句就是JS腳本,在自定義屬性與expression之間可別忘了還有一個引號,因為實質還是CSS,所以放在style標簽內,而非script內。這樣就很輕易地用一句話實現了頁面中的鏈接虛線框的消除。需要引起你非凡重視的:若不是非常非凡的需要用到expression,一般不建議使用expression,因為expression對瀏覽器資源要求比較高。
注:
CSS表達式是動態設置CSS屬性的強大(但危險)方法。Internet Explorer從第5個版本開始支持CSS表達式。下面的例子中,使用CSS表達式可以實現隔一個小時切換一次背景顏色:
background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );
如上所示,expression中使用了JavaScript表達式。CSS屬性根據JavaScript表達式的計算結果來設置。expression方法在其它瀏覽器中不起作用,因此在跨瀏覽器的設計中單獨針對Internet Explorer設置時會比較有用。
表達式的問題就在于它的計算頻率要比我們想象的多。不僅僅是在頁面顯示和縮放時,就是在頁面滾動、乃至移動鼠標時都會要重新計算一次。給CSS表達式增加一個計數器可以跟蹤表達式的計算頻率。在頁面中隨便移動鼠標都可以輕松達到10000次以上的計算量。
一個減少CSS表達式計算次數的方法就是使用一次性的表達式,它在第一次運行時將結果賦給指定的樣式屬性,并用這個屬性來代替CSS表達式。如果樣式屬性必須在頁面周期內動態地改變,使用事件句柄來代替CSS表達式是一個可行辦法。如果必須使用CSS表達式,一定要記住它們要計算成千上萬次并且可能會對你頁面的性能產生影響。
關于什么是css表達式問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。