2016-09-07 274 views
0

我遇到了导航菜单的问题。我试图停止在按钮外面悬停时显示的菜单。正如您在代码片段中看到的那样,将光标移动到按钮的左侧时,菜单显示出来,而不是在光标位于我想要实现的按钮上时显示菜单。鼠标悬停在菜单按钮外部显示菜单

非常感谢您的帮助。

下面是摘录:

#btn-holder { 
 
    background: rgba(255, 255, 255, 0.5); 
 
    position: static; 
 
    z-index: 10; 
 
    bottom: 0; 
 
    right: 0; 
 
    left: 0; 
 
    top: 0; 
 
} 
 

 
#btn-holder > .button { 
 
    transform: translate(-50%, -50%); 
 
    background-color: #a137a7; 
 
    border: none; 
 
    color: white; 
 
    padding: 18px 2px; 
 
    text-align: center; 
 
    text-decoration: none; 
 
    font-size: 16px; 
 
    position: absolute; 
 
    cursor: pointer; 
 
    left: 14; 
 
    bottom: 0; 
 
    font-family: 'Source Sans Pro', sans-serif; 
 
    opacity: .4; 
 
    border-radius: 3px; 
 
} 
 

 
#btn-holder > .button:hover { 
 
    background-color: #732878; 
 
    color: white; 
 
} 
 

 
#btn-holder > .menu { 
 
    opacity: 0; 
 
    transition: opacity .5s; 
 
    transform: translate(-50%, -50%); 
 
    background-color: #a137a7; 
 
    border: none; 
 
    color: white; 
 
    text-align: center; 
 
    text-decoration: none; 
 
    position: absolute; 
 
    left: 59px; 
 
    bottom: -300px; 
 
    font-family: 'Source Sans Pro', sans-serif; 
 

 
    
 
} 
 

 
.menu a { 
 
    display: block; 
 
    color: white; 
 
    text-align: center; 
 
    padding: 8px 13px; 
 
    text-decoration: none; 
 
    font-family:'Source Sans Pro', sans-serif; 
 
    position:sticky; 
 
    
 
} 
 

 
.menu a:hover { 
 
    background-color: #732878; 
 
} 
 

 
.menu > ul { 
 
    list-style-type: none; 
 
    margin: 0; 
 
    padding: 0; 
 
    top: 0; 
 
    left: 0; 
 
    right: 0; 
 
    overflow: hidden; 
 
} 
 

 
.menu p { 
 
    margin: 0; 
 
} 
 

 
.menu p:after { 
 
    content:""; 
 
    display: block; 
 
    height: 1px; 
 
    vertical-align: bottom; 
 
    border-top: 1px solid #eee; 
 
} 
 

 
#btn-holder > .button:hover + .menu { 
 
    opacity: .8; 
 
    transistion-delay: 1s; 
 
} 
 

 
#btn-holder .menu:hover { 
 
    opacity: .8; 
 
    
 
}
<div id="btn-holder"> 
 
    <div class="button"> 
 
    <img class="menu" src="http://static.tumblr.com/e2rgcy1/WhRod5hpn/open.png"></a> 
 
    </div> 
 
    <div class="menu"> 
 
    <ul> 
 
    <li><a href="/"a target="_blank"><img class="followtmblr" src="http://static.tumblr.com/e2rgcy1/nz3ocovr0/tumblr-follow-icon.png"></a></li> 
 
     
 
     <li><a href="/games"onclick="window.open(this.href, 'mywin', 
 
      'toolbar=0,menubar=0,scrollbars=1,height=620,width=700'); return false;"><img class="games" src="https://secure.static.tumblr.com/e2rgcy1/UrWocm53a/games-icon.png"></a></li> 
 
     
 
     <li><a href="/"a target="_blank"><img class="blog" src="https://secure.static.tumblr.com/e2rgcy1/i0Nocny7l/blog-icon.png"></a></li> 
 
     
 
     <li><a href="/"a target="_blank"><img class="twit" src="https://secure.static.tumblr.com/e2rgcy1/liGockmkp/twitter-256.png"></a></li> 
 
     
 
     <li><a href="/"a target="_blank"><img class="fb" src="http://static.tumblr.com/e2rgcy1/Ywiod4uar/fb-icon.png"></a></li> 
 
     
 
     <li><a href="/"><img class="tc" src="https://secure.static.tumblr.com/e2rgcy1/vHdockmf2/tinychaticon.png"></a></li> 
 
     
 
     <li><a href="/"><img class="refresh" src="https://secure.static.tumblr.com/e2rgcy1/4Yxocknow/refresh.png"></a></li> 
 
     
 
    </ul> 
 
    </div> 
 
</div>

+0

只需在您的'.menu'类中添加'visibility:hidden;'并将其悬停为'visibility:visible;' – Smile0ff

回答

0

你正在上空盘旋,这就是为什么它似乎你有,你想让它把它移到了窗口和悬停位置它隐藏元素出现

#btn-holder { 
 
    background: rgba(255, 255, 255, 0.5); 
 
    position: static; 
 
    z-index: 10; 
 
    bottom: 0; 
 
    right: 0; 
 
    left: 0; 
 
    top: 0; 
 
} 
 

 
#btn-holder > .button { 
 
    transform: translate(-50%, -50%); 
 
    background-color: #a137a7; 
 
    border: none; 
 
    color: white; 
 
    padding: 18px 2px; 
 
    text-align: center; 
 
    text-decoration: none; 
 
    font-size: 16px; 
 
    position: absolute; 
 
    cursor: pointer; 
 
    left: 14; 
 
    bottom: 0; 
 
    font-family: 'Source Sans Pro', sans-serif; 
 
    opacity: .4; 
 
    border-radius: 3px; 
 
} 
 

 
#btn-holder > .button:hover { 
 
    background-color: #732878; 
 
    color: white; 
 
} 
 

 
#btn-holder > .menu { 
 
    opacity: 0; 
 
    transition: opacity .5s; 
 
    transform: translate(-50%, -50%); 
 
    background-color: #a137a7; 
 
    border: none; 
 
    color: white; 
 
    text-align: center; 
 
    text-decoration: none; 
 
    position: absolute; 
 
    left: -100px; 
 
    bottom: -500px; 
 
    font-family: 'Source Sans Pro', sans-serif; 
 
    transition: 0.5s; 
 
} 
 

 
.menu a { 
 
    display: block; 
 
    color: white; 
 
    text-align: center; 
 
    padding: 8px 13px; 
 
    text-decoration: none; 
 
    font-family:'Source Sans Pro', sans-serif; 
 
    position:sticky; 
 
    
 
} 
 

 
.menu a:hover { 
 
    background-color: #732878; 
 
} 
 

 
.menu > ul { 
 
    list-style-type: none; 
 
    margin: 0; 
 
    padding: 0; 
 
    top: 0; 
 
    left: 0; 
 
    right: 0; 
 
    overflow: hidden; 
 
} 
 

 
.menu p { 
 
    margin: 0; 
 
} 
 

 
.menu p:after { 
 
    content:""; 
 
    display: block; 
 
    height: 1px; 
 
    vertical-align: bottom; 
 
    border-top: 1px solid #eee; 
 
} 
 

 
#btn-holder > .button:hover + .menu { 
 
    opacity: .8; 
 
    left: 59px; 
 
} 
 

 
#btn-holder .menu:hover { 
 
    opacity: .8; 
 
    left: 59px; 
 
}
<div id="btn-holder"> 
 
    <div class="button"> 
 
    <img class="menu" src="http://static.tumblr.com/e2rgcy1/WhRod5hpn/open.png"></a> 
 
    </div> 
 
    <div class="menu"> 
 
    <ul> 
 
    <li><a href="/"a target="_blank"><img class="followtmblr" src="http://static.tumblr.com/e2rgcy1/nz3ocovr0/tumblr-follow-icon.png"></a></li> 
 
     
 
     <li><a href="/games"onclick="window.open(this.href, 'mywin', 
 
      'toolbar=0,menubar=0,scrollbars=1,height=620,width=700'); return false;"><img class="games" src="https://secure.static.tumblr.com/e2rgcy1/UrWocm53a/games-icon.png"></a></li> 
 
     
 
     <li><a href="/"a target="_blank"><img class="blog" src="https://secure.static.tumblr.com/e2rgcy1/i0Nocny7l/blog-icon.png"></a></li> 
 
     
 
     <li><a href="/"a target="_blank"><img class="twit" src="https://secure.static.tumblr.com/e2rgcy1/liGockmkp/twitter-256.png"></a></li> 
 
     
 
     <li><a href="/"a target="_blank"><img class="fb" src="http://static.tumblr.com/e2rgcy1/Ywiod4uar/fb-icon.png"></a></li> 
 
     
 
     <li><a href="/"><img class="tc" src="https://secure.static.tumblr.com/e2rgcy1/vHdockmf2/tinychaticon.png"></a></li> 
 
     
 
     <li><a href="/"><img class="refresh" src="https://secure.static.tumblr.com/e2rgcy1/4Yxocknow/refresh.png"></a></li> 
 
     
 
    </ul> 
 
    </div> 
 
</div>

+0

谢谢,您片段中的唯一问题是我无法选择任何菜单项当菜单试图选择它们时消失, –

+0

比你必须将位置应用到元素悬停状态我也将调整我的代码等待 –

+0

我不得不改变过渡,因为延迟没有时间移动指针到图标,但它看起来不错:D –