我們在制作表單的時候,往往希望有鼠標懸停交互效果。實現(xiàn)這樣的效果,我們有多種方法:
1、在xhtml中直接寫入onmouseover、onmouseout腳本就可以實現(xiàn)了,但這樣就違背了web標準所倡導(dǎo)的內(nèi)容、表現(xiàn)相分離的原則。以后若要對此進行修改也將會很繁瑣。這樣直接寫入xhtml也會讓頁面代碼增加,如果只是一個input輸入框或許是無所謂的,如果是幾十個幾百個,增加的字節(jié)數(shù)就很寵大了。
2、在xhtml中加入小腳本,鼠標經(jīng)過時可以切換CSS。具體內(nèi)容請看這篇文章。雖然實現(xiàn)了內(nèi)容、表現(xiàn)相分離,以后的修改也會很方便。但同樣會讓頁面代碼增加。
我們有沒有更好的辦法來實現(xiàn)輸入框input樣式懸停交互的效果呢?
我們今天就討論這樣的方法,直接在CSS文件中寫入懸停交互效果的小腳本。不但實現(xiàn)了內(nèi)容與表現(xiàn)分離,而且使xhtml代碼減小,促進了代碼重用、更加的優(yōu)化。
這一方法的原理,主要是應(yīng)用CSS的expression,關(guān)于expression的更多介紹,請看這篇文章。我們看下面的CSS代碼:
代碼如下 |
|
input {star : expression( onmouseover=function(){this.style.borderColor="#060"}, onmouseout=function(){this.style.borderColor="#c00"})}
|
上面的代碼,聲明了,當(dāng)鼠標移上去的時候,邊框的顏色是#060,當(dāng)鼠標移除的時候邊框的顏色是#c00。我們看一下運行效果:
姓名:
年齡:
性別:
手機:
地址:
當(dāng)然,你也可以這樣做。我們來看看下面的運行效果:
姓名:
年齡:
性別:
手機:
地址:
在定義輸入框input樣式懸停交互效果的同時,你可以單獨的為input輸入框另外定義class類,用類與expression同時控制input輸入框。更多的東西需要你自己多思考,多試驗了。:)