我在网上找到了一个响应式网站的教程,但我想将它提供的菜单更改为特定元素的子菜单下拉菜单。当我尝试添加一个时,它会正确显示子菜单项,但不会正确定位它们。
代码如下:
.mainheader nav {
background-color: #666;
height: 40px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
.mainheader nav ul {
list-style: none;
margin: 0 auto;
}
.mainheader nav ul ul {
position: absolute;
visibility: hidden;
}
.mainheader nav ul li:hover ul {
background-color: #666;
visibility: visible;
}
.mainheader nav ul li {
float: left;
display: inline;
}
.mainheader nav a:link,
.mainheader nav a:visited {
color: #FFF;
display: inline-block;
padding: 10px 25px;
height: 20px;
}
.mainheader nav a:hover,
.mainheader nav a:active,
.mainheader nav .active a:link,
.mainheader nav .active a:visited {
background-color: #CF5C3F;
text-shadow: none;
}
.mainheader nav ul li a {
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
<header class="mainheader">
<nav>
<ul>
<li class="active"><a href="#">Home</a>
</li>
<li><a href="#">About</a>
</li>
<li>
<a href="#">Services</a>
<ul>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
</ul>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</nav>
</header>
这是 JSFiddle .
如何才能让两个测试子菜单项位于服务下方,以服务为中心,并且彼此下方?
最佳答案
添加这个以获得 <li>
垂直堆叠的元素:
.mainheader nav ul ul li {
clear: both;
}
此外,默认情况下,一个 <ul>
将缩进。将此添加到 .mainheader nav ul ul
修复对齐方式:
padding: 0;
list-style-type: none;
关于html - CSS 子菜单项 - 未正确定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39726797/