2017-08-27 89 views
1

这里我有一个侧面导航栏,可以在悬停时进行扩展,但我一直试图让社交图标在悬停时水平显示而不是垂直显示。在悬停上水平显示列表项目

我找不到与此主题相关的任何内容(除非我忽略了某些内容)。我可以得到一些帮助吗?

.navmenu { 
 
    top: 5%; 
 
    height: 90%; 
 
    width: 50px; 
 
    background-color: rgba(51, 51, 51, 0.80); 
 
    position: fixed; 
 
    border-top: 5px solid black; 
 
    border-bottom: 5px solid black; 
 
    transition: 0.5s ease; 
 
    z-index: 100; 
 
} 
 

 
.navextend { 
 
    border-left: 40px solid rgba(51, 51, 51, 0.80); 
 
    border-top: 30px solid transparent; 
 
    border-bottom: 30px solid transparent; 
 
    height: 79.5%; 
 
    left: 50px; 
 
    position: fixed; 
 
    transition: 0.5s ease; 
 
} 
 

 
#primary_nav_wrap { 
 
    z-index: 100; 
 
} 
 

 
#primary_nav_wrap ul { 
 
    list-style: none; 
 
    position: absolute; 
 
    text-align: left; 
 
    margin-top: 40px; 
 
    z-index: 100; 
 
    left: -15px; 
 
    transition: 0.5s ease; 
 
} 
 

 
#primary_nav_wrap ul li { 
 
    padding-right: 0px; 
 
} 
 

 
.current { 
 
    color: crimson; 
 
    font-size: 120%; 
 
} 
 

 
#primary_nav_wrap ul li { 
 
    padding: 15px 30px; 
 
    display: block; 
 
    text-align: left; 
 
} 
 

 
#primary_nav_wrap ul a { 
 
    color: rgba(255, 255, 255, 0.80); 
 
} 
 

 
#primary_nav_wrap ul li:hover>a { 
 
    opacity: 0.5; 
 
} 
 

 
.navmenu img { 
 
    height: 30px 
 
} 
 

 
.navmenu img:hover { 
 
    opacity: 0.5; 
 
} 
 

 
.social { 
 
    bottom: 20px; 
 
    margin-left: 7px; 
 
    transition: 0.5s ease; 
 
} 
 

 
.social li { 
 
    text-align: center; 
 
} 
 

 
.navmenu:hover { 
 
    height: 98.5%; 
 
    top: 0px; 
 
    width: 120px; 
 
    background-color: rgba(38, 38, 38, 0.80); 
 
} 
 

 
.navmenu:hover .navextend { 
 
    left: 120px; 
 
    border-left: 70px solid rgba(38, 38, 38, 0.80); 
 
    border-top: 50px solid transparent; 
 
    border-bottom: 50px solid transparent; 
 
    height: 81.3%; 
 
} 
 

 
.navmenu:hover .social>img { 
 
    display: inline; 
 
} 
 

 
.navmenu:hover .menu { 
 
    margin-left: 40px; 
 
    font-size: 120%; 
 
} 
 

 
.navmenu:hover>#primary_nav_wrap ul li { 
 
    text-align: center; 
 
}
<div class="navmenu"> 
 
    <nav id="primary_nav_wrap"> 
 
    <ul class="menu"> 
 
     <li class="current">Home</li> 
 
     <a href="#"> 
 
     <li class="link">Services</li> 
 
     </a> 
 
     <li><a href="#">About<br> us</a></li> 
 
     <li><a href="#">Contact</a></li> 
 
     <li><a href="#">EN</a></li> 
 
    </ul> 
 
    <ul class="social"> 
 
     <li><img src="Images/_Gmail.svg.png"> </li> 
 
     <li><img src="Images/fb-art.png"></li> 
 
     <li><img src="Images/twitterlogo_1x.png"></li> 
 
    </ul> 
 
    <div class="navextend"> 
 
    </div> 
 
    </nav> 
 
</div>

+0

什么图标? ... 如何? – LGSon

+0

啊..我刚刚注意到图标的目录是本地的。对于那个很抱歉。有3个图标,Gmail的脸谱和微博 –

回答

0

就在你的CSS应用这些两行:

.navmenu:hover #primary_nav_wrap .social { white-space: nowrap; } 
.navmenu:hover #primary_nav_wrap .social li { display: inline-block; } 

/* spaces between icons: */ 
.navmenu:hover #primary_nav_wrap .social li { padding: 5px 5px; } 

.navmenu { 
 
    top: 5%; 
 
    height: 90%; 
 
    width: 50px; 
 
    background-color: rgba(51, 51, 51, 0.80); 
 
    position: fixed; 
 
    border-top: 5px solid black; 
 
    border-bottom: 5px solid black; 
 
    transition: 0.5s ease; 
 
    z-index: 100; 
 
} 
 

 
.navextend { 
 
    border-left: 40px solid rgba(51, 51, 51, 0.80); 
 
    border-top: 30px solid transparent; 
 
    border-bottom: 30px solid transparent; 
 
    height: 79.5%; 
 
    left: 50px; 
 
    position: fixed; 
 
    transition: 0.5s ease; 
 
} 
 

 
#primary_nav_wrap { 
 
    z-index: 100; 
 
} 
 

 
#primary_nav_wrap ul { 
 
    list-style: none; 
 
    position: absolute; 
 
    text-align: left; 
 
    margin-top: 40px; 
 
    z-index: 100; 
 
    left: -15px; 
 
    transition: 0.5s ease; 
 
} 
 

 
#primary_nav_wrap ul li { 
 
    padding-right: 0px; 
 
} 
 

 
.current { 
 
    color: crimson; 
 
    font-size: 120%; 
 
} 
 

 
#primary_nav_wrap ul li { 
 
    padding: 15px 30px; 
 
    display: block; 
 
    text-align: left; 
 
} 
 

 
#primary_nav_wrap ul a { 
 
    color: rgba(255, 255, 255, 0.80); 
 
} 
 

 
#primary_nav_wrap ul li:hover>a { 
 
    opacity: 0.5; 
 
} 
 

 
.navmenu img { 
 
    height: 30px 
 
} 
 

 
.navmenu img:hover { 
 
    opacity: 0.5; 
 
} 
 

 
.social { 
 
    bottom: 20px; 
 
    margin-left: 7px; 
 
    transition: 0.5s ease; 
 
} 
 

 
.social li { 
 
    text-align: center; 
 
} 
 

 
.navmenu:hover { 
 
    height: 98.5%; 
 
    top: 0px; 
 
    width: 120px; 
 
    background-color: rgba(38, 38, 38, 0.80); 
 
} 
 

 
.navmenu:hover .navextend { 
 
    left: 120px; 
 
    border-left: 70px solid rgba(38, 38, 38, 0.80); 
 
    border-top: 50px solid transparent; 
 
    border-bottom: 50px solid transparent; 
 
    height: 81.3%; 
 
} 
 

 
.navmenu:hover .social>img { 
 
    display: inline; 
 
} 
 

 
.navmenu:hover .menu { 
 
    margin-left: 40px; 
 
    font-size: 120%; 
 
} 
 

 
.navmenu:hover>#primary_nav_wrap ul li { 
 
    text-align: center; 
 
} 
 
.navmenu:hover #primary_nav_wrap .social { white-space: nowrap; } 
 
.navmenu:hover #primary_nav_wrap .social li { display: inline-block; } 
 
.navmenu:hover #primary_nav_wrap .social li { padding: 5px 5px; }
<div class="navmenu"> 
 
    <nav id="primary_nav_wrap"> 
 
    <ul class="menu"> 
 
     <li class="current">Home</li> 
 
     <a href="#"> 
 
     <li class="link">Services</li> 
 
     </a> 
 
     <li><a href="#">About<br> us</a></li> 
 
     <li><a href="#">Contact</a></li> 
 
     <li><a href="#">EN</a></li> 
 
    </ul> 
 
    <ul class="social"> 
 
     <li><img src="Images/_Gmail.svg.png"> </li> 
 
     <li><img src="Images/fb-art.png"></li> 
 
     <li><img src="Images/twitterlogo_1x.png"></li> 
 
    </ul> 
 
    <div class="navextend"> 
 
    </div> 
 
    </nav> 
 
</div>

+0

谢谢,但我似乎无法改变悬停的三个图标之间的距离,他们延伸到菜单之外...... –

+0

我注意到了它。但是你的设计不清晰,很凌乱。我建议你先修复它,然后我可以帮助你更好 –

+0

你通过填充来间隔图标。我在我的答案中添加了一条CSS线来改变它。往上看。 –