html - 我的悬停下拉菜单隐藏在内容后面(图片)

标签 html css drop-down-menu menu navigation

我使用 codeigniter 为我的照片库制作了一个导航菜单,并使用 fancybox 弹出图像。但是当我在我的菜单中使用下拉菜单时,下拉部分转到图像后面,我在 CSS 中使用 z-index 但没有得到任何解决方案。我给了我的代码和屏幕简短。请帮助我。

我的导航 html 代码:

<div id='cssmenu'>
        <ul>
            <li><a href="<?php echo base_url(); ?>">Home</a></li>
            <li><a href="<?php echo base_url(); ?>gallery/official">Official Photo</a></li>
            <li><a href="<?php echo base_url(); ?>gallery/program">Program</a></li>
            <li ><a href="#">Foreign Photo</a>
                <ul class="sub-menu" >
                    <li><a href="#">Test</a></li>
                    <li><a href="#">Test1</a></li>
                    <li><a href="#">Test2</a></li>
                </ul>
            </li>
            <li><a href="<?php echo base_url(); ?>upload">Upload</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
      </div>

我的 html 代码:

<div class="row">
    <?php foreach ($image as $value) { ?>
    <div class="col-md-3 pic"><a class="fancybox" rel="gallery1" href="<?php echo base_url() . "gallery/$value->name" ; ?>" title="<?php echo $value->name; ?>"><img class="pici" src="<?php echo base_url() . "gallery/$value->name" ;?>" height="140" width="100%" ></a></div>
    <?php } ?>
</div>

我的 CSS 代码是:

#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #menu-button {
  margin: 0;
  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:after,
#cssmenu > ul:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
#cssmenu #menu-button {
  display: none;
}
#cssmenu {
  width: auto;
  font-family: Raleway, sans-serif;
  line-height: 1;
  float: left;
  height: 44px;
}
#cssmenu > ul {
  /*background: #3db2e1;*/
}
#cssmenu > ul > li {
  float: left;
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  perspective: 1000px;
}
#cssmenu.align-center > ul {
  font-size: 0;
  text-align: center;
}
#cssmenu.align-center > ul > li {
  display: inline-block;
  float: none;
}
#cssmenu.align-right > ul > li {
  float: right;
}
#cssmenu > ul > li > a {
  padding: 16px 20px;
  margin: 0 2px;
  font-size: 12px;
  color: #ffffff;
  letter-spacing: 1px;
  /*text-transform: uppercase;*/
  text-decoration: none;
  background: #008000;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  -webkit-transform-origin: 50% 0;
  -moz-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
#cssmenu > ul > li.active > a {
  color: #dff2fa;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover {
 /* color: #dff2fa;
  -webkit-transform: rotateX(90deg) translateY(-23px);
  -moz-transform: rotateX(90deg) translateY(-23px);
  transform: rotateX(90deg) translateY(-23px);
  -ms-transform: none;*/
}
#cssmenu > ul > li > a::before {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: -1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 16px 20px;
  color: #dff2fa;
  background: #19799f;
  content: attr(data-title);
  -webkit-transition: background 0.3s;
  -moz-transition: background 0.3s;
  transition: background 0.3s;
  -webkit-transform: rotateX(-90deg);
  -moz-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  -webkit-transform-origin: 50% 0;
  -moz-transform-origin: 50% 0;
  transform-origin: 50% 0;
  /*-ms-transform: translateY(- -18px);*/
}
#cssmenu > ul > li:hover > a::before,
#cssmenu > ul > li > a:hover::before {
  background: #3db2e1;
}
#cssmenu.small-screen {
  width: 100%;
}
#cssmenu.small-screen > ul,
#cssmenu.small-screen.align-center > ul {
  width: 100%;
  text-align: left;
}
#cssmenu.small-screen > ul > li,
#cssmenu.small-screen.align-center {
  float: none;
  display: block;
  border-top: 1px solid rgba(100, 100, 100, 0.1);
}
#cssmenu.small-screen > ul > li:hover > a,
#cssmenu.small-screen > ul > li > a:hover {
  color: #dff2fa;
  -webkit-transform: none;
  -moz-transform: none;
  transform: none;
  -ms-transform: none;
}
#cssmenu.small-screen > ul > li > a::before {
  display: none;
}
#cssmenu.small-screen #menu-button {
  display: block;
  padding: 16px 20px;
  cursor: pointer;
  font-size: 14px;
  text-decoration: none;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: #008000;
}
#cssmenu.small-screen #menu-button:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 17px;
  display: block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  border-top: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  width: 22px;
  height: 3px;
}
#cssmenu.small-screen #menu-button.menu-opened:after {
  border-top: 2px solid #dff2fa;
  border-bottom: 2px solid #dff2fa;
}
#cssmenu.small-screen #menu-button:before {
  content: "";
  position: absolute;
  right: 20px;
  top: 27px;
  display: block;
  width: 22px;
  height: 2px;
  background: #ffffff;
}
#cssmenu.small-screen #menu-button.menu-opened:before {
  background: #dff2fa;
}
#cssmenu > ul > li > ul > li { display: none;}
#cssmenu > ul > li:hover ul > li {display: block;padding: 8px 10px; background-color: #008000;color:#fff;overflow: visible;}
#cssmenu ul li ul li a{color:#fff;font-size: 12px;}
#cssmenu ul li ul li{border: 1px solid #fff;}

enter image description here

最佳答案

导航栏 div 父级应该是 position:relative 并且它的 z-index 大于照片库父级的容器,后者也应该是 position:relative。这可能会解决问题。

关于html - 我的悬停下拉菜单隐藏在内容后面(图片),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395235/

相关文章:

JQuery 按钮 - 删除文本时保持高度

php - 使用 html、css 和 php 变量填充 pdf 模板

javascript - 从 html.append 附加的 html 下拉列表中获取返回值

html - 我无法让这个下拉菜单与 CSS 一起使用

javascript - 如何将 HTML CSS 图像 slider 转换为 Angular 图像 slider ?

python - 无法解析余数 : '{{ list[loop.index0] }}'

html - 将 CSS 文件设置为私有(private)?

php - 在不刷新页面的情况下刷新 mysql 驱动的下拉列表的内容

jquery - 将图像添加到 div 并使它们成为 "active"

jquery - 如何仅在某些元素上转换框阴影