我有一个下拉菜单(#dropDownMenu),当我的网站的“ #headerNav”悬停在上方时会出现。如果我将#dropDownMenu(最初以display:none隐藏,直到链接悬停在上面)稍微靠在#headerNav div上,则它可以正常工作。

如果光标没有足够快地移到出现在下拉菜单上,这将停止轻微闪烁。通过将#dropDownMenu稍微重叠在#headerNav上,这使得当光标实际上在#dropDownMenu中时,似乎#headerNav仍在悬停。

无论如何,我现在想将#dropDownMenu的重叠部分隐藏在header或#headerContent后面,以便所有内容看起来都更加整洁,因此下拉菜单实际上看起来像是出现在#headerNav下面。

我尝试了不同的z-index设置,但似乎都无法正常工作,这很烦人。当我将#headerNav:hover #dropDownMenu的z-index设置为-1时,它按预期隐藏在所有内容的后面。

如果我将header或#headerContent的z-index设置为高于“ #headerNav:hover #dropDownMenu”的数字,则将鼠标悬停在#headerNav上。我仍然可以看到#dropDownMenu重叠。

CSS:

header {

    position:fixed;
    top:0;
    right:0;
    left:0;
    height: 40px;
    z-index:20;
    }

    #headerContent {
    background-color: $main-background-color;
    width: $site-width;
    margin:0px auto 0px auto;
    height:40px;

    }

    #headerNav {
    float:right;
    height:37px;
    width:auto;
    margin-top:1px;
    background-color:#464646;
    color:#cccccc;
    }

    #headerNav:hover {
    background-color:#626262;
    cursor:pointer;
    color: white;
    }

    #headerNav:hover #dropDownMenu {
    position:absolute;
    background-color:white;
    border:1px solid gray;
    top:35px;
    right:-39px;
    height:300px;
    width:200px;
    font-weight:bold;
    color:gray;
    display:block !important;
    z-index:1;
    }

    ul li {
    float:right;
    }

    #photoThumbnail img {
    height:28px;
    width:31px;
    padding-top:5px;
    padding-right:8px;
    -moz-border-radius: 1px 12px 1px 12px;
    border-radius: 1px 12px 1px 12px;

    }

    #currentUser {
    position:relative;
    padding-top:12px;
    padding-left:12px;
    padding-right:6px;
    }


    #siteNavigation {
    display:none;

    }


的HTML

<header>
  <div id='headerContent'>
    <div id='LogoHolder'>
    </div>
    <nav id='headerNav'>
      <ul>
        <li id='photoThumbnail'></li>
        <li id='currentUser'>
          <ul id='dropDownMenu'>
            <li>link1</li>
            <li>link2</li>
            <li>link3</li>
            <li>link4</li>
            <li>link5</li>
            <li>link6</li>
          </ul>
        </li>
      </ul>
    </nav>
  </div>
</header>


示例和更正将不胜感激。

亲切的问候

最佳答案

如果您的z-index设置被忽略,则可能需要添加position属性,将其设置为relative或任何需要的值。我很确定,如果未设置position属性,则会忽略z-index。

09-17 13:03