我有一个包含3个子级别的导航菜单。我需要第三级列表左对齐,但我无法让它表现出来。我可以让2级和3级相对于主菜单对齐,但我希望第2级相对对齐,第3级完全对齐左侧。我很感激任何帮助/建议,这就是我所拥有的:
HTML:
<ul class="nav">
<li><a href="#">LINK1</a></li>
<li><a href="#">LINK2</a>
<ul class="#">
<li><a href="#">LINK2a</a>
<ul class="#">
<li><a href="#">LINK2b</a></li>
<li><a href="#">LINK2c</a></li>
<li><a href="#">LINK2d</a></li>
<li><a href="#">LINK2e</a></li>
<li><a href="#">LINK2f</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">LINK3</a></li>
<li><a href="#">LINK4</a></li>
<li><a href="#">LINK5</a></li>
</ul>
CSS:
a, img { border:none; }
* { margin:0; padding:0; }
.nav{
display:block;
list-style:none;
text-align: left;
position: relative;
height: 30px;
}
.nav li {
display: block;
position: relative;
float: left;
border: 1px solid #FFF;
}
.nav li a {
width: 125px;
height: 30px;
display: table-cell;
vertical-align: middle;
text-decoration: none;
font-size: 12px;
font-family: Arial, Verdana, Helvetica, sans-serif;
text-align: center;
color: #000;
z-index: 2000;
background-color: #999;
}
li.active {
background-color: #999 ;
color: #000;
}
.nav li a:hover {
top: 30px;
}
.nav li:hover > a {
color:#fff;
background-color:#333;
}
.nav li ul {
width: 125px;
height: 25px;
position: absolute;
left: -9999px;
border: 1px solid #FFF;
}
.nav li:hover ul {
left: -2px;
}
.nav li li:hover > a {
color:#000;
background-color:#999;
}
.nav li li{
position: relative;
border: 1px solid #FFF;
height: 25px;
}
.nav li li a {
height: 25px;
top: 25px;
text-decoration: none;
font-size: 9px;
font-family: Arial, Verdana, Helvetica, sans-serif;
text-align: center;
display: table-cell;
vertical-align: middle;
color: #000;
z-index: 2000;
background-color: #999;
}
li li.active {
background-color: #a9d9d9 ;
color: #007f7b;
}
.nav li li:hover ul {
left: -2px;
top: 25px;
}
ul.nav li > ul {
width: 700px;
height: 25px;
background-color:blue;
}
ul.nav li > ul > li > ul {
background-color:red;
height: 25px;
}
ul.nav li > ul > li { display: none; }
ul.nav li:hover li { display: block; }
答案 0 :(得分:1)
好吧,你缺少一些简单的改变CSS,以使其正常工作。我将发布我所做的更改here以使其有效:
.nav li ul
成为.nav li > ul
.nav li:hover ul
成为.nav > li:hover > ul
.nav li li:hover ul
成为.nav li > li:hover ul
ul.nav li > ul > li { display: none; }
成为ul.nav li ul ul { display: none; }
ul.nav li:hover li { display: block; }
成为ul.nav li:hover > ul { display: block; }
添加了:
ul.nav li ul ul {
position: absolute;
top:25px;
left: -129px;
}
ul.nav li li:hover > a {
color: white;
background-color: #333
}