我正在为客户构建一个站点,但我无法让下拉菜单在导航栏下方清晰显示 - 相反它与导航栏重叠,如果我将下拉菜单的上边距增加到将它推到导航栏下方,下拉菜单和父列表项之间存在间隙,使它出现的悬停属性不会生效。
我在这里创建了一个 fiddle 导航栏 - http://jsfiddle.net/s4dpby4v/1/
您可以在此处查看实时版本 - http://japesfawcett.com/ps/index.html
HTML:
<div class="header">
<div class="logo">
<h1><a href="index.html">PAM SHAW INTERIORS</a></h1>
</div>
<nav>
<ul>
<li><a href="about.html">ABOUT</a></li>
<li class="has-drop">
<a href="#">WORK +</a>
<ul class="drop-down">
<li style="padding-bottom: 0;"><a href="#">COMMERCIAL</a></li>
<li style="padding-right: 80px; padding-bottom: 0;"><a href="#">RESIDENTIAL</a></li>
</ul>
</li>
<li><a href="portfolio.html">CONTACT</a></li>
</ul>
</nav>
</div>
CSS:
.header {
width: 100%;
background-color: #fff;
margin: 0 auto;
height: 75px;
z-index: 9999;
}
.logo h1 {
float: left;
font-size: 20px;
letter-spacing: 4px;
width: 25%;
padding-top: 10px;
margin-top: 18px;
margin-left: 75px;
font-weight: 300;
}
.logo a {
text-decoration: none;
color: #000;
}
nav {
font-family: 'Lato', sans-serif;
width: 60%;
font-size: 14px;
font-weight: 300;
text-align: right;
letter-spacing: 4px;
float: right;
margin-top: 19px;
margin-right: 75px;
}
nav ul {
float: right;
list-style: none;
padding-top: -5px;
}
nav li {
padding-left: 15px;
padding-right: 10px;
padding-bottom: 15px;
display: inline-block;
}
nav ul li ul.drop-down {
width: 100%;
background: #fff;
display: none;
position: absolute;
z-index: 999;
padding: 5px 0 5px 0;
margin: 15px 0 0 0;
left: 0;
line-height: 2.5;
clear: both;
border-top: 1px solid #F1F1F1;
}
nav li:hover ul.drop-down {
display: block;
}
nav ul li ul.dropdown li {
display: block;
padding: 0;
margin: 0;
}
nav li a {
text-decoration: none;
color: #000;
display: inline-block;
}
nav li a:hover {
text-decoration: none;
color: #CCC;
-webkit-transition: all 800ms ease;
-moz-transition: all 800ms ease;
-ms-transition: all 800ms ease;
-o-transition: all 800ms ease;
transition: all 800ms ease;
}
如有任何指导或帮助,我们将不胜感激!
最佳答案
.has-drop {position: relative;}
nav ul li ul.drop-down {width: auto;}
nav li li {width: 100%; text-align: center; box-sizing: border-box;}
会清理你的下拉列表,你只需要删除你在这里的内联样式来修复列表样式。:
<li style="padding-bottom: 0;"><a href="#">COMMERCIAL</a></li>
<li style="padding-right: 80px; padding-bottom: 0;"><a href="#">RESIDENTIAL</a></li>
这是我的 fiddle :http://jsfiddle.net/s4dpby4v/6/
关于html - 下拉菜单与我的导航栏重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33412130/