在我正在处理的网站上,侧边栏中有一个嵌套的无序列表,当此列表中的<li>
悬停时,它会显示(先前隐藏的)子<ul>
。这在除IE 7 + 6之外的所有浏览器中都能正常工作。在这些浏览器中,弹出窗口<ul>
显示在上面列表的<li>
下方。知道为什么会这样做吗?
我的CSS如下:
div#sidebar-products {
border-bottom: 3px solid #D31245;
height: 297px;
}
div#sidebar-products h2 {
font-size: 1.5em;
border-bottom: 0;
padding: 5px 0 12px 0;
color: #D31245;
}
div#sidebar-products ul{
z-index: 0;
}
div#sidebar-products li{
position: relative;
}
div#sidebar-products ul li a,
div#sidebar-products ul li a:visited
{
display: block;
border-bottom: 1px solid #eeeeee;
text-decoration: none;
padding: 7px 10px 7px 20px;
color: #6b6869;
background: #fff url(/img/raquo-red.png) 7px center no-repeat;
}
div#sidebar-products li a:hover,
div#sidebar-products li a:focus,
div#content-holder div#sidebar-products li.active a
{
background-image: url(/img/raquo-white-red.png);
background-color: #D31245;
color: #fff;
}
div#sidebar-products ul ul{
display: none;
padding-left: 10px;
position: absolute;
margin-top: -1px;
z-index: 9999 !important;
border: 1px solid #D31245;
background: #f3f3f3;
width: 247px;
}
div#sidebar-products ul li ul li {
margin-bottom: 0;
position: static !important;
z-index: 500;
}
div#site-holder div#content-holder div#sidebar-products ul ul li a {
background: #fff url(/img/raquo-red.png) 10px center no-repeat;
padding-left: 24px;
color: #949494;
}
div#site-holder div#content-holder div#sidebar-products ul li ul li a:hover,
div#site-holder div#content-holder div#sidebar-products ul li ul li a:focus
{
color: #D31245;
background-color: #fff;
}
答案 0 :(得分:2)
我估计你可能遇到过IE不在文档级别处理z-index但在容器级别处理的错误。我忘记了通常通过添加/删除位置来修复的确切错误细节:相对于我认为的共享祖先元素。
试试这些以获取更多细节:
答案 1 :(得分:0)
我认为你需要确保你的父元素是位置相对的,有自动溢出
答案 2 :(得分:0)
这是一篇关于粉碎杂志的好文章。 它可能会对您有所帮助:The Z-Index CSS Property: A Comprehensive Look