Css 如何管理导航菜单的z索引?
我有一个带有导航菜单的ASP.NET应用程序。我使用HtmlGenericControl类(“ul”和“li”元素)和CSS在代码隐藏(C#)中创建了菜单。CSS如下所示:Css 如何管理导航菜单的z索引?,css,asp.net,z-index,Css,Asp.net,Z Index,我有一个带有导航菜单的ASP.NET应用程序。我使用HtmlGenericControl类(“ul”和“li”元素)和CSS在代码隐藏(C#)中创建了菜单。CSS如下所示: ul.navMenu { padding: 0px; margin: 0px; width: 1000px; list-style: none; position: relative; z-index: 100000; } ul.navMenu ul { positi
ul.navMenu {
padding: 0px;
margin: 0px;
width: 1000px;
list-style: none;
position: relative;
z-index: 100000;
}
ul.navMenu ul {
position: absolute;
left: 0;
top: 100%;
display: none;
padding: 0px;
margin: 0px;
}
ul.navMenu li {
display: inline;
float: left;
position: relative;
}
ul.navMenu a {
text-decoration: none;
padding: 10px 0px;
width: 100px;
background: gainsboro;
color: #010101;
float: left;
text-align: center;
border: 1px solid #ffffff;
text-transform: uppercase;
}
ul.navMenu a:hover {
background: #d91703;
color: #ffffff;
}
ul.navMenu ul a {
width: 150px;
font-size: 10px;
}
ul.navMenu ul li {
display: block;
margin: 0px;
}
ul.navMenu li:hover ul {
display: block;
}
ul.navMenu ul ul {
top: 0;
left: 100%;
}
ul.navMenu li:hover ul ul {
display: none;
}
ul.navMenu ul li:hover ul {
display: block;
}
问题是,当我将z-index设置为100000以使其位于所有其他元素之上时,会弹出一些窗口,并且通过它们可以看到菜单,这看起来不太好。请看下面的屏幕截图,您可以看到白色弹出窗口和菜单行。菜单不应该是可见的。它应该在窗户后面
我不知道该怎么做
根据经验法则。。。在规划应用程序设计时,考虑将要展示的不同层次。想想看,哪个会在上面展示,哪个会和其他人一起在下面展示 当你有了这个,只需从低到高对不同的层进行编号,并且记住没有z索引的层的z索引为0
如果您希望能够在当前图层之间“插入”未来图层,而无需重新编码样式,则可以按10步进行编号。显然,原始z索引太高。真的没有理由使用这么高的数字。我怀疑你最初的定位环境是有缺陷的。然而,如果没有一个小的演示…很难给出进一步的建议。我知道z指数太高了,但应该是什么值?或者有另一种方法可以让它工作…如果没有一个最小的演示就说不出来…只要减少它直到问题不再发生。或者更好…从0开始,增加它直到问题消失。我已经将z-index设置为10000,问题消失了。