gpt4 book ai didi

html - 下拉菜单项不垂直堆叠

转载 作者:太空宇宙 更新时间:2023-11-04 02:38:08 25 4
gpt4 key购买 nike

您好,我有一个带有下拉菜单的网站,出于某种原因,它的元素水平堆叠。HTML 是这样的

<li id="menuitem">a</li>
<ul id="dropdown">
<li id="dropdownelement">b</li>
</ul>

CSS 将 ul 设置为隐藏,除非悬停。和li元素相对

https://jsfiddle.net/u8pmtc4z/

最佳答案

您的实现存在一些问题。

你可以测试这个 demo看看这是否是所需的行为。

您应该将 ul ul 元素设置为 absolute 定位,并将您的 ul li 设置为 relative一个 inline-block 显示 Prop 。

然后,将您的 #navbar ul li:hover ul 更改为如下所示:

#navbar ul li:hover ul {
display: block;
position: absolute;
left: 0;
padding: 0;
}

这会将嵌套下拉列表设置为位于父级下方并左对齐。

另外,您在标记中使用了两次 #accountDropDownElement id。我在我的演示中将它替换为一个类,因为 id 必须是唯一的!

完整代码如下:

#navbar ul {
position: relative;
display: inline-table;
list-style-type: none;
width: 965px;
}

#navbar ul:after {
content: "";
clear: both;
display: block;
}

#navbar ul ul {
display: none;
position: absolute;
top: 66px;
left: 0;
padding: 0;
}

#navbar ul ul li {
float: none;
position: relative;
}


#navbar ul li {
float: left;
padding: 0 10px;
border-radius: 25px;
}

#navbar ul li:hover > a {
border: 1px rgb(204, 255, 102) solid;
background-color: rgb(204, 255, 102);
box-shadow: none;
}

#navbar ul li:hover ul {
display: block;
position: absolute;
left: 0;
padding: 0;
}

#navbar ul li:hover ul li {
float: none;
}

#navbar ul li a {
border-radius: 25px;
border: 1px rgb(57, 232, 38) solid;
background-color: rgb(57, 232, 38);
box-shadow: 0px 3px 3px rgba(0,0,0,0.5);
color: white;
display: block;
float: left;
font-family: "micross";
font-size: 30px;
padding: 15px;
text-decoration: none;
}

#navbar ul li a:hover {
border: 1px rgb(204, 255, 102) solid;
background-color: rgb(204, 255, 102);
box-shadow: none;
}
#accountButton:hover {
cursor: pointer;
}

#accountDropDownImage {
float: left;
}

.accountDropDownElement {
width: 100px;
background-color: rgb(57, 232, 38);
color: white;
font-size: 20px;
margin: 0;
padding-left: 20px;
padding-right: 20px;
padding-top: 10px;
padding-bottom: 10px;
}
<link rel="stylesheet" href="CSS/style.css">
<link rel="stylesheet" href="CSS/navbar.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<div id="navbar">
<ul id="navbarList">
<li id="homeButton"><a href="home.php">Home</a></li>
<li id="blogButton"><a href="blog.php">Blog</a></li>
<li id="downloadsButton"><a href="downloads.php">Downloads</a></li>
<li id="managerButton"><a href="manager.php">Manager</a></li>
<li id="accountButton"><a id='accountAButton' href='manager.php'>Luke</a>
<ul id='dropDownList'>
<li><p class='accountDropDownElement'>Logout</p></li>
<li><p class='accountDropDownElement'>Login</p></li>
</ul>
</li>
</ul>
</div>

关于html - 下拉菜单项不垂直堆叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com