DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> hover在IE6下的問題及解決方法
hover在IE6下的問題及解決方法
編輯:CSS詳解     

你對hover在IE6下的問題是否了解,這裡和大家分享一下hover在IE6下的問題及解決方法,相信本文介紹一定會讓你有所收獲。

hover在IE6下的問題

在處理CSS的機制上,IE總是有很多讓人吐血的舉動,但對於他們現在的改進力度還是值得高興的。

就拿對偽類:hover的支持來說,IE7+終於添加了對a以外其它標簽的支持。對於這樣的改進,當然是要拍手稱快的,但在IE6下,:hover就連對a的支持都不是那麼的盡如人意。下面就是我想簡單說的一個關於:hover在IE6及更早浏覽器下的問題。

◆很多人可能都已經知道了:hover在IE6及更早浏覽器(以下稱IE6-)下的一些問題。我主要是想說一下形如a:hoverspan{}這樣的問題。

有的時候為了增加一些簡單的動態效果,常常會借助:hover的幫忙,比如我們時常會令鼠標經過鏈接時改變文字的顏色。如:

  1. a:hover{color:#F00;}
  2. <ahrefahref="?">鼠標經過時改變我的顏色</a>

是的,這將在所有的浏覽器中都有效。但如果換成這樣:

  1. a:hoverem{color:#F00;}
  2. <ahrefahref="?">鼠標經過時改變我的<em>顏色</em></a>

你會發現在IE6-下什麼都沒有發生,我們的樣式失效了。對,就是這樣,應該很多人都碰到過且已經解決了這個問題。

是的,只需要再添加一個a:hover{}樣式就可以解決這個問題了,裡面可以是zoom,padding,margin等屬性。如下:

  1. a:hover{zoom:1;}
  2. a:hoverem{color:#F00;}
  3. <ahrefahref="?">鼠標經過時改變我的<em>顏色</em></a>

看著恢復了正常的效果,去想可能是因為什麼造成:hover失效的。你可以使用zoom,display,padding等等屬性來搞定,於是想會不會是因為haslayout。恩,很有可能就是這樣。但你接著測試,會發現,不論你在a:hover{}寫入任何屬性,color啊,font-size啊,overflow啊(甚至是不存在的屬性,如xx:yyy),都可以使之恢復正常。

測試到這裡是不是有點目瞪口呆的感覺?對,我也是這樣的。至於原因是什麼,我還不知道,或許有人知道。

◆一個a:hover的簡單例子:

運行代碼框

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHtml1.0Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xHtml1-strict.dtd">
  3. <HtmlXMLnsHtmlXMLns="http://www.w3.org/1999/xHtml"XML:lang="zh-cn"lang="zh-cn">
  4. <head>
  5. <metahttp-equivmetahttp-equiv="Content-Type"content="text/Html;charset=utf-8"/>
  6. <metahttp-equivmetahttp-equiv="Content-Language"content="zh-cn"/>
  7. <title>:hover在IE6andearlIEr下的問題</title>
  8. <metanamemetaname="Description"content="IE6andearlIEr
  9. 下的:hover問題"/>
  10. <metanamemetaname="KeyWords"content="IE6,:hover"/>
  11. <metanamemetaname="author"content="Doyoe(飄零霧雨),dooyoe@gmail.com"/>
  12. <styletypestyletype="text/CSS">
  13. #navul{zoom:1;overflow:hidden;list-style:none;margin:0;padding:0;background:#CCC;}
  14. #navli{float:left;width:100px;height:30px;line-height:30px;text-align:center;}
  15. #nava{color:#333;}
  16. #nava.en{display:none;}
  17. #nava:hover{display:block;background:#333;color:#CCC;}
  18. #nava:hover.en{display:inline;}
  19. #nava:hover.cn{display:none;}
  20. </style>
  21. </head>
  22. <body>
  23. <dividdivid="nav">
  24. <ul>
  25. <li><ahrefahref="#"><spanclassspanclass="cn">首頁</span><spanclassspanclass="en">Homepage</span></a></li>
  26. <li><ahrefahref="#"><spanclassspanclass="cn">新聞</span><spanclassspanclass="en">News</span></a></li>
  27. <li><ahrefahref="#"><spanclassspanclass="cn">圖片</span><spanclassspanclass="en">Picture</span></a></li>
  28. <li><ahrefahref="#"><spanclassspanclass="cn">下載</span><spanclassspanclass="en">Download</span></a></li>
  29. <li><ahrefahref="#"><spanclassspanclass="cn">留言</span><spanclassspanclass="en">Comment</span></a></li>
  30. </ul>
  31. </div>
  32. </body>
  33. </Html>

[Ctrl+A全部選擇提示:你可先修改部分代碼,再按運行]

例子雖然簡單,但即刻你又會發現其實中英菜單和一些CSStips效果也是那麼的簡單。

原文:http://blog.doyoe.com/article/216.htm

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved