我正在制作导航菜单。我的下拉子菜单有问题。当我将鼠标悬停在子菜单上时,它会水平显示条目,但我想要垂直显示。有人可以告诉我我能做些什么来修复它吗?感谢。
这里是fiddle。
这是我的CSS代码:
#nav {overflow:hidden;
margin:0px auto;
text-align:center;}
#nav ul li {display:inline-block;
list-style:none;
vertical-align:top;
width:100px;}
#nav>ul>li>a>img {text-align:center;
width:100px;
height:100px;}
#nav a {text-decoration:none !important;}
#nav a:hover {text-decoration:underline !important;}
#nav > ul > li > ul {display:none;
z-index:999;
position:absolute;}
#nav li:hover ul {display:block;}
.submenu li {border-bottom:solid 1px #333333;
font-size:12px;}
.submenu img {display:inline;
vertical-align:middle;
width:25px;
height:25px;
float:left;
margin:5%}
.submenu li:hover {background-color:#CCC;}
这是我的HTML代码:
<div id="nav">
<ul>
<li>
<a href="">
<img src="images/placeholder.png">
Home
</a>
</li>
<li>
<a href="">
<img src="images/placeholder.png">
Menu w/ Submenu
</a>
<ul class="submenu">
<li>
<a href="">
<img src="images/placeholder.png">
Submenu Item
</a>
</li>
<li>
<a href="">
<img src="images/placeholder.png">
Submenu Item
</a>
</li>
</ul>
</li>
<li>
<a href="">
<img src="images/placeholder.png">
Menu Item
</a>
</li>
<li>
<a href="">
<img src="images/placeholder.png">
Menu Item
</a>
</li>
</ul>
</div>
答案 0 :(得分:2)
最简单的方法是在子菜单中评论position:absolute;
。
#nav > ul > li > ul {display:none;
z-index:999;
/* position:absolute;*/}
检查此操作:
答案 1 :(得分:0)
Here is the solution to you problem
您只需将display:block
和float
添加到子菜单li
答案 2 :(得分:0)
这是
你有css类#nav ul li
,它使子菜单在视觉上对齐..
解决此问题的一种方法是使用!important property and ovveriding display property
。
更好的解决方案是使用psuedo类
#nav ul li:not(.subItem) {display:inline-block;
list-style:none;
vertical-align:top;
width:100px;}
.subItem{
display:block;
}
这种方式内联块不适用于subItems。
答案 3 :(得分:0)
你可以把它添加到你的css
//如果你需要职位:绝对
#nav ul li ul li {
float: left; // float left for inner li
display: inline-block;
}
#nav ul li ul {
width: 100px; // set width for you'r ul
}
答案 4 :(得分:0)
更改代码中的以下css,它应该可以正常工作。
问题是您正在为所有ul li
显示内联块。
看一下小提琴 DEMO
#nav ul li {
display:inline-block;
list-style:none;
vertical-align:top;
width:100px;
}
要强>
#nav > ul > li {
display:inline-block;
list-style:none;
vertical-align:top;
width:100px;
}