2012-04-10 3 views
0

:hoverにオーバーレイ(上位z-index)がある画像の一部を強調表示しようとする非常に奇妙なバグがあります。 Safari/Firefox/Chromeでは問題ありません。しかし、IE(8または9)、私の単純なCSSコードは、オーバーレイ(無background-colorまたはvisibility:hidden)は常に表示されていないないときにIEが:hoverをトリガしていないように見えるように動作しない奇妙な:zインデックスとimgのホバリングバグ

ここでMWEですHTMLとCSS:

<html> 
<head> 
    <style> 
    .photo-notes { 
     position: absolute; 
     z-index: 998; 
    } 
    .photo-notes ul { 
     position: relative; 
    } 
    .photo-notes li { 
     list-style: none; 
     position: absolute; 
     background: #ccc; 
     z-index: 999; 
    } 
    .photo-notes li:hover { 
     background: red; 
    } 
    .photo-container { 
     z-index: 1; 
    } 
    </style> 
</head> 
<body> 
<div> 
    <div class="photo-notes"> 
    <ul> 
     <li style="left: 25px; top: 20px; width: 50px; height: 100px;"> </li> 
    </ul> 
    </div> 
    <div class="photo-container"> 
    <img src="http://www.google.com/logos/2012/newyearsday-2012-hp.jpg"/> 
    </div> 
</div> 
</body> 
</html> 

作品上記のコードが、あなたはbackground: #cccを削除するかliスタイリングへ/からvisibility:hiddenを追加しようとした場合、それはIE(これ以上:hover効果)の下で働いて停止します。

追加奇妙なことは<img>行が削除された場合、それはlibackgroundなしかvisibility:hiddenで(:hoverがトリガされます)動作しないということです。だから、:hoverの問題はIEでは見えない要素では不可能であり、私はどこでも明白にz-indexを追加しようとしました...

何が起こっているのか、どのようにそれを解決する?

答えて

0

まあ、私はli(IE用filter: alpha(opacity:0))を意味します。この方法の背景とopacity:0を設定することによって、それを自分自身を解決し、:hoverは適切にトリガされます。

関連する問題