javascript - Z-Index CSS - 顶部导航与垂直导航重叠

标签 javascript html css layout

我有一个网站,正在为我工​​作的公司重新设计。这个网站和过去的元素的主要区别是该网站是通过一家网络打印电子商务公司托管的,该公司处理采购和库存控制方面的大部分后端工作。他们给了我编辑 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/

相关文章:

javascript - 为什么创建实例变量后标题没有正确设置?

Javascript 向上取整值

javascript - 当用户在内部制作 "mouseon"时代码悬停外部 html 元素?

jquery - 在 jquery 中插入 css 背景图像

javascript - 单击同一行上另一个单元格中的图像后,如何替换特定单元格中的单词?

javascript - CSS 命名空间,HTML 中的 SVG : Highlighting a state in an SVG file using CSS

javascript - 在提交之前用 jquery/ajax 替换/编码 < 和 >

javascript - 从 javascript 强制服务器 TextChanged 事件

html - 在 iframe 内外应用的 CSS 样式表

html - 我怎样才能改进这个移动网站?