我正在尝试制作一个 CSS 下拉菜单,但问题是子列表项与父列表项重叠,如图所示。
我发现问题的根源是填充:10px 5px; 在第 12 行 - 删除后,问题就解决了。但我需要填充的外观。我阅读了解决类似问题的内联元素和填充,但即使是文章中提供的解决方案 - 使用float: left; 而不是显示:内联;- 不能解决我的问题。
为什么会发生这种情况,解决方案是什么?
HTML 代码
<ul id="navigation_2">
<li><a href="#">Home</a></li>
<li><a href="#">About</a>
<ul>
<li>Who We Are</li>
<li>Our Goal</li>
</ul>
</li>
</ul>
CSS 代码
ul#navigation_2
{
margin: 0;
padding: 0;
list-style: none;
font-family: "Century Gothic","HelveticaNeueLT Pro 45 Lt",sans-serif;
}
ul#navigation_2 li
{
float: left;
position: relative;
padding: 10px 5px;
font-size: 114%;
text-align: center;
width: 100px;
}
ul#navigation_2 li a
{
text-decoration: none;
}
ul#navigation_2 li a:link, a:visited, a:active
{
color: black;
}
ul#navigation_2 li:hover
{
background-color: red;
}
ul#navigation_2 li ul
{
margin: 0;
padding: 0;
list-style: none;
display: none;
}
ul#navigation_2 li ul li
{
display: block;
width: 150px;
text-align: left;
}
ul#navigation_2 li:hover ul
{
display: block;
position: absolute;
background-color: #CBD966;
}