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