html - 导航下拉菜单问题

标签 html css nav html.dropdownlistfor

我的导航有一些问题,当您将鼠标悬停在“匹配”链接上时,我正在尝试创建一个下拉菜单。每次我将鼠标悬停在链接上时,列表将保留在所述链接下方并破坏导航栏的外观。任何帮助将不胜感激

HTML

<nav>
    <span class= "navbar-button"></span>
    <ul class="navbar">
        <li><a href="index.html">Home</a></li>
        <li><a href="#">Gallery</a></li>
        <li><a href="#">Match</a>
            <ul>
                <li><a href="#">City</a></li>
                <li><a href="#">Coastal</a></li>
                <li><a href="#">Rural</a></li>
            </ul>
        </li>
    </ul>
</nav>

CSS

body{
padding: 0;
margin: 0;
font-family: 'main';
}

.navbar {
list-style: none;
background-color: #333;
color: #fff;
margin: 0;
text-align: center;
}

.navbar > li {
display: inline-block;
padding: 1.3% 2%;

}

.navbar > li:hover {
background-color: #585858;

}

.navbar > li > a{
text-decoration: none;
font-size: 30px;
color: #fff;

}

.navbar li ul {
display: none;
}

.navbar li:hover ul{
display: block;

}

最佳答案

您需要使用绝对 定位将它从容器中分离出来,这样它就不会破坏其余元素:

.navbar li ul {
  position: absolute; 
  display: none;
  background-color: #333;
  margin: 0;
  text-align: center;
  padding: 20px;
}

确保将其父级设置为position: relative 否则body 将成为其容器:

.navbar > li {
  position: relative;
  display: inline-block;
  padding: 1.3% 2%;
}

JSFIDDLE

关于html - 导航下拉菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326084/

相关文章:

html - Bootstrap 4 全宽轮播

html - 错误菜单下拉 css html <nav> <ul>

html - 容器内的全宽导航

javascript - 尝试让我的按钮在没有用户交互的情况下更改文本 javascript

html - 将表格变成具有特定宽度的div

html - 蓝色按钮 HTML CSS 更改大小

css - 在 IE 中使用 Angular Material 在 div 外部流动的文本

html - 有没有办法找到我的 HTML 代码使用的所有 CSS 代码?

javascript - 导航按钮突出显示在桌面浏览器中有效,但在安卓移动浏览器中无效

html - float div 影响我屏幕中其他 div 的高度