我有一个网站,正在为我工作的公司重新设计。这个网站和过去的元素的主要区别是该网站是通过一家网络打印电子商务公司托管的,该公司处理采购和库存控制方面的大部分后端工作。他们给了我编辑 HTML 内容和 CSS 的权限。可悲的是,他们没有给我任何更改 Javascript 导航的权限。我在 JavaScript 导航与幻灯片下方的纯 CSS 垂直菜单重叠时遇到问题。我知道这与 Z-index 有关系,但对于我来说,我无法让它发挥作用。有没有人有任何建议我可以用来添加到 CSS 以使其停止重叠?
这是网站,您可以看到发生了什么 - Website
#cssmenu {
float:left;
position:relative;
}
#cssmenu ul {
font-size:14px;
}
#cssmenu ul {
font-size:16px;
}
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {
margin: 10px 0px 0px 0px;
padding: 0;
border: 0;
list-style: none;
line-height: 1;
display: block;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#cssmenu {
}
#cssmenu > ul {
width: 200px;
background: #ffffff;
}
#cssmenu > ul > li > a {
font-family: 'PT Sans Narrow', sans-serif;
padding: 8px 15px;
font-size: 16px;
color: #666666;
font-weight: 700;
text-decoration: none;
-webkit-transition: color .2s ease;
-o-transition: color .2s ease;
-ms-transition: color .2s ease;
transition: color .2s ease;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover {
color: #222222;
}
#cssmenu ul li.has-sub > a::after {
position: absolute;
right: 15px;
display: block;
width: 10px;
height: 10px;
content: "";
border-radius: 2px;
}
#cssmenu > ul > li.has-sub > a::after {
top: 14px;
background: #666666;
}
#cssmenu > ul > li.has-sub:hover > a::after,
#cssmenu > ul > li.has-sub > a:hover::after {
background: #222222;
}
#cssmenu ul ul li.has-sub > a::after {
top: 13px;
background: #ffffff;
}
#cssmenu ul ul li.has-sub:hover > a::after,
#cssmenu ul ul li.has-sub > a:hover::after {
background: #dddddd;
}
#cssmenu ul li.has-sub > a::before {
position: absolute;
right: 15px;
display: block;
width: 0;
height: 0;
border: 3px solid transparent;
content: "";
z-index:2;
}
#cssmenu > ul > li.has-sub > a::before {
top: 16px;
border-left-color: #ffffff;
}
#cssmenu ul ul li.has-sub > a::before {
top: 15px;
border-left-color: #2e353b;
}
#cssmenu ul {
z-index:2;
-webkit-transform:;
transform:;
-webkit-perspective: 600px;
-moz-perspective: 600px;
perspective: 600px;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
}
#cssmenu ul li:hover > ul {
left: 100%;
opacity: 1;
-webkit-transform: rotate3d(0, 0, 0, 0);
transform: rotate3d(0, 0, 0, 0);
z-index:2;
}
#cssmenu ul ul {
position: absolute;
top: 0;
left: -9999px;
width: 180px;
background: #2e353b;
opacity: 0;
-moz-transition: opacity 0.2s ease, -moz-transform 0.2s ease;
-webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
-ms-transition: opacity 0.2s ease, -ms-transform 0.2s ease;
-o-transition: opacity 0.2s ease, -o-transform 0.2s ease;
transition: opacity .2s ease, transform .2s ease;
-webkit-transform: rotate3d(0, 1, 0, 45deg);
-moz-transform: rotate3d(0, 1, 0, 45deg);
transform: rotate3d(0, 1, 0, 45deg);
-webkit-transform-origin: left center;
-moz-transform-origin: left center;
transform-origin: left center;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
z-index:2;
}
#cssmenu ul li:hover > ul {
left: 100%;
opacity: 1;
transform: rotate3d(0, 0, 0, 0);
z-index:2;
}
#cssmenu ul ul::after {
position: absolute;
left: -8px;
top: 14px;
z-index: 5;
display: block;
width: 0;
height: 0;
border: 4px solid transparent;
border-right-color: #2e353b;
content: "";
z-index:2;
}
#cssmenu ul ul a {
padding: 8px 15px;
font-size: 12px;
color: #ffffff;
font-weight: 700;
text-decoration: none;
-webkit-transition: color .2s ease;
-o-transition: color .2s ease;
-ms-transition: color .2s ease;
transition: color .2s ease;
z-index:2;
}
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover {
color: #dddddd;
z-index:2;
}
最佳答案
您需要为 JavaScript 导航增加 z-index。您可以使用 CSS 做到这一点。
.nav_child {
z-index: 2;
}
仅在 Windows 上的 Chrome 中测试过。
关于javascript - Z-Index CSS - 顶部导航与垂直导航重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332721/