【问题标题】:CSS Dropdown Menu with CSS Transitions Z-Index not working带有 CSS 过渡 Z-Index 的 CSS 下拉菜单不起作用
【发布时间】:2014-01-16 06:07:52
【问题描述】:

我无法让z-index 在主页上的主要英雄图片上方显示我的下拉菜单。

访问网站是:auldlangsynegoods.com。我希望有人可以使用一些开发工具来查看该站点并找出为什么这个下拉菜单没有出现。

这是干净简单的html:

<nav id="mainNav" role="navigation" class="cf">
    <h2>Site navigation</h2>
    <ul class="topMenu">
      <li class="hover">
        <h3>Infant and Baby</h3>
        <ul class="subMenu">
          <li><a href="shoes_and_accessories.html" title="Infant and Baby Shoes">Shoes</a></li>
          <li><a href="shoes_and_accessories.html" title="Infant and Baby Hats">Hats</a></li>
          <li><a href="shoes_and_accessories.html" title="Infant and Baby Clothing">Clothing</a></li>
        </ul>
      </li>
      <li><a href="millinery.html" title="Millinery Also Known as Hats">Millinery</a></li>
      <li class="hover">
        <h3>Shoes and Accessories</h3>
        <ul class="subMenu">
          <li><a href="shoes_and_accessories.html" title="Shoes and Accessories - Mens Shoes">Mens Shoes</a></li>
          <li><a href="shoes_and_accessories.html" title="Shoes and Accessories - Womens Shoes">Womens Shoes</a></li>
          <li><a href="shoes_and_accessories.html" title="Shoes and Accessories - Bags">Bags</a></li>
        </ul>
      </li>
      <li class="hover">
        <h3>Organic Skincare</h3>
        <ul class="subMenu">
          <li><a href="Organic_Skincare.html" title="Organic Skincare - Body">Body</a></li>
          <li><a href="shoes_and_accessories.html" title="Organic Skincare - Face">Face</a></li>
        </ul>
      </li>
      <li><a href="Garments.html" title="Garments">Garments</a></li>
    </ul>
  </nav>

这是桌面视图的简单干净的 CSS:

/*nav styles*/
#mainNav {
    padding-left:3.9%;
    margin-bottom: 1.5em;
}

#mainNav li {
    float: left;
}

#mainNav a {

    display: block;
    color: #383420;
    border: none;
}

#mainNav a:hover {
    color: #484329;
}

#mainNav a.current {
    color: #A6A6A6;
    cursor: default;
}
/*nav styles*/
#mainNav {
    padding-left: 3.9%;
    margin-bottom:1em;
}
#mainNav li {
    margin-right: 3%;
    position: relative;
}
#mainNav a, #mainNav h3 {
    font-size: 1.2em;
    text-align: left;
    padding: 0 1em;
}
/*dropdown menu styles*/
#mainNav ul.subMenu {
    float: none;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    padding-top: 2.8em;
    left: -8000em;
    max-height: 0;
    -moz-transition:max-height 0.5s ease;
    -webkit-transition:max-height 0.5s ease;
    -o-transition:max-height 0.5s ease;
    transition:max-height 0.5s ease;
    overflow: hidden;
    z-index: 5;
}
#mainNav ul.subMenu li {
    float: none;
    margin: 0;
    background: rgb(76, 67, 65);
    background: rgba(76, 67, 65, .9);
}
#mainNav li:hover ul {
    left: 0;
    max-height: 20em;
}
#mainNav ul.subMenu li a {
    border-bottom: 1px solid white;
    padding: .2em 1em;
    white-space: nowrap;
    color: white;
    text-align: left;
    font-size: 1.1em;
}
#mainNav ul.subMenu li:last-child a {
    border-bottom: none;
}
#mainNav ul.subMenu li a:hover {
    background: rgb(123, 121, 143);
}

【问题讨论】:

  • 您应该发布一个小提琴并列出您尝试解决问题的步骤。
  • 你有那个小提琴的链接吗?
  • jsfiddle.net 是一个开始
  • 知道了。如何将其发布到此帖子以向用户展示?
  • 填写它,然后运行/更新/保存您的编辑,然后在此处发布链接..在您的问题中...而不是 cmets

标签: html css


【解决方案1】:

在您提供的网站上,z-index 似乎不是问题,而是您需要从以下位置删除 overflow: hidden;

#mainNav {
    overflow: hidden;
    margin-bottom: 1.5em;
}

使用 chrome web 开发工具删除该样式后,我能够看到下拉列表。

【讨论】:

  • 谢谢,这似乎有效。如此简单的小事有时会让我发疯。
猜你喜欢
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 2018-01-20
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多