我正在尝试创建一个带有下拉菜单的网站,但它会随着导航栏的扩展而扩展。
我尝试更改display
的类型和位置,但是没有用
结果为here。
body {
margin: 0px;
font-family: arial;
background-color: rgb(240, 240, 240);
}
li {
list-style: none;
}
/*NAV BAR*/
.navbar {
background-color: white;
display: block;
justify-content: center;
min-width: 1000px;
border-bottom: 1px solid rgb(220, 220, 220);
}
.navbaritems {
display: flex;
justify-content: center;
flex-direction: row;
margin: 0px;
padding: 0px;
}
.navbaritem {
padding: 15px;
}
.navbaritem .text {
text-decoration: none;
font-size: 20px;
color: rgb(10, 80, 150);
}
.navimg {
justify-content: center;
padding-top: 30px;
zoom: 18%;
}
.dropdown {
display: none;
}
.navbaritem:hover {
background-image: linear-gradient(to top, rgba(90, 140, 220, 1), rgba(110, 150, 250, 0.2));
}
.navbaritem:hover .text {
color: white;
}
.navbaritem:hover .dropdown {
display: block;
position: relative;
;
}
<div class="navbar-container">
<nav class="navbar">
<ul class="navbaritems">
<li class="navbaritem"><a class="text" href="index.html">Home</a></li>
<li class="navbaritem"><a class="text" href="about.html">About</a>
<div class="">
<ul class="dropdown">
<li class="droption"><a class="text" href="">About</a></li>
<li class="droption">
<a class="text" href=""></a>
</li>
</ul>
</div>
</li>
</ul>
</nav>
</div>
答案 0 :(得分:2)
以下这些更改只是解决方案中的粗略尝试,只是为了让您了解可能会有帮助的想法:
.navbaritem {padding: 15px; position: relative; }
.navbaritem:hover .dropdown {
background-color: rgba(90,140,220,1);
display: block;
height: 40px;
left: 0;
padding-left: 15px;
padding-top: 10px;
position: absolute;
top: 53px;
width: 67.5px;
}
重要的是使用绝对定位,以使下拉元素在可见时所占据的大小不会影响父组件的大小。
其余的CSS只是临时尝试使一个下拉项看起来相当不错-但这并不意味着它是获取所需布局和样式的通用解决方案的一部分。