このコードは、IE8を除いて、私が試した他のすべてのブラウザーで機能します。
IE8はz-indexを無視しているように見え、ポップアップはポップアンダーになります。
適切な場所にあり、サムネイルの下にレンダリングするだけです。
誰でも?
ありがとう!
HTML:
<a class="thumbnail" href="#thumb">
<img src="comic_a3_thumb.jpg" height="300" width="212" border="0"
style="float:right; margin-top:10px;margin-bottom:10px;"
alt="description" />
<span>
<img src="/images/comic_a3_popup.jpg" />
</span>
</a>
CSS:
.thumbnail{
position: relative;
z-index: 0;
}
.thumbnail:hover{
background-color: transparent;
z-index: 50;
}
.thumbnail span{ /*CSS for enlarged image*/
position: absolute;
background-color: lightyellow;
padding: 5px;
left: 0px;
border: 1px dashed gray;
visibility: hidden;
color: black;
text-decoration: none;
}
.thumbnail span img{ /*CSS for enlarged image*/
border-width: 0;
padding: 2px;
}
.thumbnail:hover span{ /*CSS for enlarged image on hover*/
visibility: visible;
top: -140px; /*position where enlarged image should offset horizontally */
left: -500px;
}
簡単な答えは、span
のホバー状態にz-index
値よりも大きい.thumbnail:hover
値を追加することです。
.thumbnail:hover span{ /*CSS for enlarged image on hover*/
visibility: visible;
top: -140px; /*position where enlarged image should offset horizontally */
left: -500px;
z-index: 51;
}
これらの行をページの先頭に配置します
<!--[if IE]>
<style>
#your_faulty_div{
background-color:#000; /*any color it doesn't matter*/
filter: alpha(opacity=0);
}
</style>
<![endif]-->
your_faulty_divは、IE z-indexのバグが原因で誤動作しているdivです。
スムーズに動作します。要素を重ねて配置したすべてのプロジェクトで使用しています。
私があなたを正しく理解しているなら、サムネイルとしてマークされた要素の上にspan
を表示したいと思います。 span
要素にz-index
を指定していません。これが実際の例です:
<!DOCTYPE HTML> <html> <head> <meta http-equiv = "Content-type" content = "text/html; charset = UTF-8 "/> <title>ポップアップテスト</ title> <style type =" text/css "> #vbox { ボーダー:1px黒一色; 高さ:200px; 位置:相対; 幅:200px; z-index:0; } #vbox:hover #hbox { display:block; } #hbox { 境界線:1px黒一色; 表示:なし; 高さ:200px; 左:50px; 位置:相対; 上: 50px; 幅:200px; z-index:1; } </ style> </ head> <body> <div id = "vbox"> <p>このボックスにカーソルを合わせると、非表示の「ポップアップ」が表示されます。</ p> <pid = "hbox">このボックスはポップアップです。</ p> </ div> </ body> </ html>
この問題を修正する方法は、次のようにサムネイル画像にクラスを追加することです:
.thumbnail:hover img.thumb {z-index:-50; position:relative;}