由顯示/隱藏引出的CSSbug(轉)

post0發表於2007-08-15
由顯示/隱藏引出的CSSbug(轉)[@more@]

  這一段CSS程式碼相當簡單,目的就是想用CSS來控制某段文字的顯示與隱藏。起初我採用了下面的程式碼,令人不可思議的是,它們在我的IE6.0上居然沒有任何反應,大家不信可以親自試驗一下。
<style type="text/css"> a {font-size:12px; text-decoration:none; height:50;} a:hover {text-decoration:none;} a span {font-size:12px; display:none;} a:hover span {display:block;} </style>

  我仔仔細細地檢查了一遍程式碼,實在找不到什麼毛病來。沒有辦法,我只能像平時查錯糾錯一樣,試著改改CSS裡的程式碼。當我改變了hover偽類連結中的程式碼時(程式碼如下所示),突然發現程式碼可以執行了。

  為了確認CSS是否真存在該bug,我又特地改用大小、顏色、位置等樣式來試驗,在不改變hover偽類連結的前提下,都無法得到正常情況下應得到的效果。從而可以得知:在包含選擇符有偽類連結時,存在著CSS樣式無效的bug,希望CSS下一版中能修正這個錯誤。
a:hover {text-decoration:none; border:none;}

  這樣我們可以知道,在hover偽類連結中必須包含某些特殊的CSS屬性宣告才能消除這個bug。 我用了CSS裡所有的屬性宣告來嘗試解決這個bug,發現只有一下幾項屬性宣告能解決這個問題。
border display postion overfilow background

  而我之所以採用“border:none”這種方法,是因為它還能從Netscape 4中消除一些不同的CSS錯誤。

  注:本文所提及的bug在IE5.5、IE6.0中均存在。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-957429/,如需轉載,請註明出處,否則將追究法律責任。

相關文章