我有一个类别表,它维护无限级别的子类别。它看起来像下面snap shot中显示的那个。
在上表中,第三列显示父名称。当鼠标按钮悬停在父名称上时,会显示一个菜单,显示不同颜色的类别的树结构。
当弹出菜单时,它与下面的父名称重叠(我无法用正确的文字表达,所以请看上面的图片)。应该使用什么CSS或其他方法才能正确显示菜单?
父姓名显示在<ul><li></li></ul>
中,如下所示
<ul>
<li>
<div style='width:53px;cursor:hand;text-align:left; background-color:white; border:none; color:black; font-size:small;'>
<?php echo htmlspecialchars($name, ENT_QUOTES, 'UTF-8');?>
</div>
</li>
</ul>
如果需要显示整个菜单的CSS,则如下所示。
.jqueryslidemenu{font:bold 9px Tahoma, Verdana, sans-serif;color:#fff;width: 100%;text-align:left;z-index:99999}
.jqueryslidemenu ul{margin: 0;padding: 0px;list-style-type: none;z-index:99999}
.jqueryslidemenu ul li{position: relative;display: inline;float: left;z-index:99999}
.jqueryslidemenu ul li a{font:bold 12px Tahoma, Verdana, sans-serif;display: block;background:#000;color: #fff;padding: 3px 3px;text-decoration: none;z-index:99999}
* html .jqueryslidemenu ul li a{display: inline-block;z-index:99999}
.jqueryslidemenu ul li a:link, .jqueryslidemenu ul li a:visited{color: #fff;text-decoration: none;z-index:99999}
.jqueryslidemenu ul li a:hover{background:#000;text-decoration:none;color: #03C;z-index:99999}
.jqueryslidemenu ul li ul{position: absolute;left: 0;display: block;visibility: hidden;z-index:99999}
.jqueryslidemenu ul li ul li{display: list-item;float: none;z-index:99999}
.jqueryslidemenu ul li ul li ul{top:0;z-index:99999}
.jqueryslidemenu ul li ul li a{font:bold 9px Tahoma, Verdana, Geneva, sans-serif;width: 140px;margin: 0;padding: 6px;border-top-width: 0;border-bottom: 1px solid gray;z-index:99999}
.jqueryslidemenuz ul li ul li a:hover{color:#fff; background:#000;z-index:99999}
.downarrowclass{position: absolute;top: 8px;right: 7px;display:none;z-index:99999}
.rightarrowclass{position: absolute;top: 6px;right: 5px;z-index:99999}
答案 0 :(得分:2)
看起来像z-index问题。
可能是因为你的css中的这一行:
.jqueryslidemenu ul li a
z-index是否为99999,使得父级链接文本显示在级联弹出式菜单上方?将它的z-index降低到1,看看是否有帮助。
答案 1 :(得分:1)
看起来z-index设置为99999意味着它强制项目成为最顶层。给该特定元素(ul li)指定auto或1的z-index。通过为该列提供如下特定类来执行此操作。
HTML:
<li class="behind"></li>
的CSS:
li.behind{
z-index: auto;
}