我有一个简单的(绝对定位的)图像幻灯片,它由几张每隔几秒旋转一次的图像组成。
为了让变化图像的不同区域可点击,我还有一个包含不同链接的无序列表,相对定位以便使用 z-index。
这在 Firefox (3.6)、Safari (windows) 和 Chrome (windows) 中运行良好。但是,链接似乎消失在 IE8 和 IE7 中的图像后面(我什至还没有在 IE6 中尝试过......)。
如何在 IE 中将无序列表置于最前面?(见下面的代码)
编辑: 链接到工作页面
编辑 2:我使用 IE8 的开发人员工具确实发现,当我删除时,这些链接可以正常工作并且位于幻灯片的顶部:
.links a { display: block; }
删除display:block的结果是我有 5 个微小的可点击区域覆盖在左上角的图像上。一旦我再次添加它,图像上的任何地方都没有可点击区域,尽管开发人员工具会显示链接应该位于正确位置的方块。
代码(我没有包含 javascript,因为它只动画不透明度并添加/删除下面提到的类):
html
<div id="slideshow">
<ul>
<li><img src="/images/header01.jpg" alt="some_image" /></li>
<li><img src="/images/header02.jpg" alt="some_image" /></li>
<li><img src="/images/header03.jpg" alt="some_image" /></li>
</ul>
</div>
<ul class="links">
<li><a href="link1.html"> </a></li>
<li><a href="link2.html"> </a></li>
<li><a href="link3.html"> </a></li>
<li><a href="link4.html"> </a></li>
<li><a href="link5.html"> </a></li>
</ul>
css
ul.links {
z-index: 9999;
position: relative;
}
.links li {
float: left;
}
.links a {
display: block;
width: 192px;
height: 210px;
}
#slideshow {
position: absolute;
left: 0;
top: 0;
}
#slideshow li {
position: absolute;
top: 0;
left: 0;
z-index: 8;
opacity: 0.0;
border: none;
/* ie bugs */
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
}
#slideshow li.active {
z-index: 10;
opacity: 1.0;
}
#slideshow li.last-active {
z-index: 9;
}