html - 导航菜单中的下拉菜单未完全显示并在悬停时消失

标签 html css

我在导航菜单中悬停时有一个下拉菜单,它以一种奇怪的方式切断了它的元素并且显示不正确。此外,当我尝试将指针移动到下拉菜单时,它也会消失一半。

这是一个 fiddle - https://jsfiddle.net/AwesomeHat/vfaqbu03/

    <header>
<!--Navigation Bar-->
<nav>
<ul class="navbar">
<li class="list"><a href="#" class="navlink">Contact</a></li>
<li class="list"><a href="#" class="navlink">Buyers Section</a>
<ul class="hidden">
<li class="listtwo"><a href="#" class="navlinktwo">EMI Calculator </a></li>
<li class="listtwo"><a href="#" class="navlinktwo">Apply For Loan</a></li>
<li class="listtwo"><a href="#" class="navlinktwo">Make An Enquiry</a></li>
</ul>
</li>
<li class="list"><a href="#" class="navlink">Referral</a></li>
<li class="list"><a href="#" class="navlink">What's New</a>
<ul class="hidden">
<li class="listtwo"><a href="#" class="navlinktwo">Just Launched</a></li>
<li class="listtwo" ><a href="#" class="navlinktwo">Launching Soon</a></li>
<li class="listtwo"><a href="#" class="navlinktwo">Completed Projects</a> </li>
</ul>
</li>
<li class="list"><a href="#" class="navlink">About us</a></li>
<li class="list"><a href="#" class="navlink">Home</a></li>
</ul>
</nav>
</header>

header {
background: black;
position: absolute;
width: 100%;
height: 150px;
}
.navbar {
list-style-type: none;
position: relative;
margin-top: 95px;
margin-right: 70px;
z-index: 100;
}
.list {
position: relative;
float: right;
border-right: 2px solid #fff;
padding-left: 10px;
padding-right: 10px;
}
.navlink {
display: inline-block;
font-size: 15px;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}
.list:hover .navlink  {
color: rgba(165,219,89,1);
}
.list:hover .navlinktwo {
height: 40px;
line-height: 40px;
}
.list :hover .navlinktwo:hover {
color: rgba(165,219,89,1);
}
.hidden {
display: none;
}
.listtwo {
position: absolute;
display: block;
background: black;
color: #fff;
float: none;
}
.navlinktwo {
font-size:15px;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}
.navlink:hover + .hidden, .hidden:hover {
display: block;
}

最佳答案

给你:jsfiddle让我知道是否有帮助
改变了一些东西。
下拉菜单没有正确显示,因为它的位置不正确,它消失了,因为父菜单和下拉菜单之间有间隙。用简单的行高修复了这个问题

居中对齐使用这个 .hidden {left:-50%;min-width:200%;padding: 0;} .listtwo { text-align:center;}

代码:

<header>
<!--Navigation Bar-->
<nav>
<ul class="navbar">
<li class="list"><a href="http://www.operadevelopers.com/contact"     class="navlink">Contact</a></li>
<li class="list"><a href="#" class="navlink">Buyers Section</a>
<ul class="hidden">
<li class="listtwo"><a href="#" class="navlinktwo">EMI Calculator </a></li>
<li class="listtwo"><a href="#" class="navlinktwo">Apply For Loan</a></li>
<li class="listtwo"><a href="#" class="navlinktwo">Make An Enquiry</a></li>
</ul>
</li>
<li class="list"><a href="#" class="navlink">Referral</a></li>
<li class="list"><a href="#" class="navlink">What's New</a>
<ul class="hidden">
<li class="listtwo"><a href="#" class="navlinktwo">Just Launched</a></li>
<li class="listtwo" ><a href="#" class="navlinktwo">Launching Soon</a></li>
<li class="listtwo"><a href="#" class="navlinktwo">Completed Projects</a>    </li>
</ul>
</li>
<li class="list"><a href="#" class="navlink">About us</a></li>
<li class="list"><a href="#" class="navlink">Home</a></li>
</ul>
</nav>
</header>

header {
background: black;
position: absolute;
width: 100%;
height: 150px;
}
.navbar {
list-style-type: none;
position: relative;
margin-top: 95px;
margin-right: 70px;
z-index: 100;
}
.list a { line-height:20px}
.list {
position: relative;
float: right;
border-right: 2px solid #fff;
padding-left: 10px;
padding-right: 10px;
}
.navlink {
display: inline-block;
font-size: 15px;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}
.list:hover .navlink  {
color: rgba(165,219,89,1);
}
.list:hover .navlinktwo {

line-height: 40px;
}
.list :hover .navlinktwo:hover {
color: rgba(165,219,89,1);
}
.hidden {
top: 100%;
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
background: black;
padding-left:0
}
.listtwo {
padding-left: 10px;
padding-right: 10px;
display: block;

color: #fff;
float: none;

}
.navlinktwo {
font-size:15px;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
color: #fff;
text-decoration: none;
width: auto;
min-width: 100px;
}
.navlink:hover + .hidden, .hidden:hover {
display: block;
}

关于html - 导航菜单中的下拉菜单未完全显示并在悬停时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38011193/

相关文章:

javascript - 保存和加载 Bootstrap 所见即所得编辑器内容

javascript - 如何使用 css 在新窗口中打开链接?

javascript - map 在 Chrome 中有效,但在 Firefox 中无效

css - 在 chrome 中呈现的有线 CSS(但在 Safari 中不呈现)

javascript - 围绕图像流动图像

CSS:固定背景附件不会缩放到元素边界

html - z-index 不显示父项后面的嵌套子项

jquery - .modal ('dispose' ) 是做什么的? Bootstrap 4

javascript - map 仅在窗口更改时正确显示

javascript - 使用高度为 100% 的 Divs 时,ion-nav-bar 和 ion-tabs 有问题