CSS a:hover偽類在IE6下的問題

很多人可能都已經(jīng)知道了:hover在IE6及更早瀏覽器(以下稱IE6-)下的一些問題。我主要是想說一下形如a:hover span{}這樣的問題。
有的時(shí)候?yàn)榱嗽黾右恍┖唵蔚膭?dòng)態(tài)效果,常常會(huì)借助:hover的幫忙,比如我們時(shí)常會(huì)令鼠標(biāo)經(jīng)過鏈接時(shí)改變文字的顏色。如:
a:hover{color:#F00;}
<a href="?">鼠標(biāo)經(jīng)過時(shí)改變我的顏色</a>
是的,這將在所有的瀏覽器中都有效。但如果換成這樣:
a:hover em{color:#F00;}
<a href="?">鼠標(biāo)經(jīng)過時(shí)改變我的<em>顏色</em></a>
你會(huì)發(fā)現(xiàn)在IE6-下什么都沒有發(fā)生,我們的樣式失效了。對(duì),就是這樣,應(yīng)該很多人都碰到過且已經(jīng)解決了這個(gè)問題。
是的,只需要再添加一個(gè)a:hover{}樣式就可以解決這個(gè)問題了,里面可以是zoom, padding, margin等屬性。如下:
a:hover{zoom:1;}
a:hover em{color:#F00;}
<a href="?">鼠標(biāo)經(jīng)過時(shí)改變我的<em>顏色</em></a>
看著恢復(fù)了正常的效果,去想可能是因?yàn)槭裁丛斐?hover失效的。你可以使用zoom, display, padding等等屬性來搞定,于是想會(huì)不會(huì)是因?yàn)閔aslayout。恩,很有可能就是這樣。但你接著測試,會(huì)發(fā)現(xiàn),不論你在a:hover{}寫入任何屬性,color啊,font-size啊,overflow?。ㄉ踔潦遣淮嬖诘膶傩?,如xx:yyy),都可以使之恢復(fù)正常。
測試到這里是不是有點(diǎn)目瞪口呆的感覺?對(duì),我也是這樣的。至于原因是什么,我還不知道,或許有人知道。
一個(gè)a:hover的簡單例子:
提示:您可以先修改部分代碼再運(yùn)行
例子雖然簡單,但即刻你又會(huì)發(fā)現(xiàn)其實(shí)中英菜單和一些css tips效果也是那么的簡單。
相關(guān)文章
a標(biāo)簽的四個(gè)css偽類(link、visited、hover、active)樣式理解
偽類是CSS 用于向某些選擇器添加特殊的效果,chrome和firefox中的css監(jiān)控并不會(huì)顯示所有的樣式,有些顯示會(huì)有點(diǎn)不全,IE下還是有點(diǎn)問題的,不過大體不變2013-05-30csshover.htc在IE7下使用:active偽類無效解決方法
相信做前端開發(fā)都知道,IE6、IE7都不支持:active偽類,IE6更甚,連:hover偽類都不支持。為了解決這個(gè)問題,一般都會(huì)引入一個(gè)csshover.htc文件來解決,本文將介紹解決此問題2012-12-24鏈接偽類(:hover)CSS背景圖片有閃動(dòng)BUG的解決方法
IE6下鏈接偽類(:hover)CSS背景圖片有閃動(dòng)BUG,主要原因ie會(huì)再一次請(qǐng)求這張圖片,或者說圖片沒被緩存。2011-04-28CSS3實(shí)現(xiàn)偽類hover離開時(shí)平滑過渡效果示例
本篇文章主要介紹了CSS3實(shí)現(xiàn)偽類hover離開時(shí)平滑過渡效果示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-10