长期潜伏者,第一次提问者。我这里有个奇怪的事件...
我的网站顶部有一个导航栏,其中有一些下拉菜单。当鼠标位于显示下拉菜单的区域时,下拉菜单将自动显示。 (请参见下图)。红色箭头表示下拉菜单触发时鼠标所在的位置。 example
我感觉这与z-index有关,但是主要内容的z-index组合不同,并且子菜单不起作用。如果我将z-index更改为“ -1”,它将一直不显示,直到您将鼠标悬停在“ Info”上,但是它将其隐藏在主要内容的后面,并使链接不可单击。
编辑以包含菜单的所有CSS和HTML。谢谢!
#header {
width: 970px;
height: 26px;
margin: 0 auto;
margin-top: 25px;
border-bottom-width: thin;
border-top-width: thin;
border-left-width: thin;
border-right-width: thin;
border-style: solid;
border-color: #444;
}
.clearfix: after {
display: block;
clear: both;
}
.menu-wrap {
z-index: 1;
margin: -13px 0px;
float: right;
}
.menu li {
margin: 0px;
list-style: none;
font-family: 'Oswald', sans-serif;
text-transform: uppercase;
font-weight: 500;
}
.menu a {
text-decoration: none;
color: #2e2728;
}
.menu>ul>li {
float: left;
display: block;
font-size: 13px;
}
.menu>ul>li>a {
padding: 3px 10px;
}
.menu>ul>li:hover>a,
.menu>ul>.current-item>a {
background: #2e2728;
height: 15px;
color: #fff;
}
.menu li:after {
content: '|';
color: #2e2728;
display: inline-block;
}
.menu li:last-child:after {
content: none;
}
.menu li:hover .sub-menu {
opacity: 1;
}
.sub-menu {
padding: 5px 0px;
margin-top: 3px;
position: absolute;
z-index: 0;
opacity: 0;
background: #2e2728;
}
.sub-menu li {
display: block;
font-size: 13px;
}
.sub-menu li a {
display: block;
padding: 0px 10px;
color: #fff;
}
.sub-menu li a:hover,
.sub-menu .current-item a {
background: #3e3436;
}
<div id="header">
<div id="socialmedia">
other stuff
</div>
<div class="menu-wrap">
<nav class="menu">
<ul class="clearfix">
<li><a href="http://www.jon-stone.com/">Home</a></li>
<li><a href="/urbanexplorations/">Urban Explorations</a></li>
<li><a href="/galleries/">Galleries</a></li>
<li><a href="#">Photography▾</a>
<ul class="sub-menu">
<li><a href="http://www.jon-stone.com/info/fineart.php">Fine Art Purchasing</a></li>
<li><a href="http://www.jon-stone.com/weddings/">Weddings</a></li>
<li><a href="http://www.jon-stone.com/realestate/">Real Estate</a></li>
</ul>
</li>
<li><a href="http://www.jon-stone.com/videography">Videography</a></li>
<li><a href="">Info▾</a>
<ul class="sub-menu">
<li><a href="http://www.jon-stone.com/info/statementandbio.php">Artist Statement & Bio</a></li>
<li><a href="http://www.jon-stone.com/info/awardsandpublications.php">Awards & Publications</a></li>
<li><a href="http://www.jon-stone.com/info/events.php">Events</a></li>
</ul>
</li>
<li><a href="http://www.jon-stone.com/contact/">Contact</a></li>
</ul>
</nav>
</div>
</div>
答案 0 :(得分:0)
问题似乎出在子菜单的隐藏方式上。由于其opacity
设置为0
,因此用户仍可以将其悬停在该项目上。相反,您应该使用display: none
寻找解决方案。这样,即使用户将隐藏项目的通常位置悬停在CSS条件下,也不会将其视为悬停状态。