我做了一个水平菜单,所有菜单项都占用了100%的导航。为此,我在'lu'中使用display:table,并在'li'中显示:table-cell。通过这种方式,菜单是水平的,并将所有manu项目扩展到100%宽度。问题是子菜单也是水平的,但我想垂直显示子菜单项。
<script type="text/javascript">
$('body').ready(function() {
$('.dropdown').hover(function() {
$(this).find('.sub_navigation').slideToggle();
});
});
</script>
ul#navigation {
float:left;
display:table;
margin:0;
padding:0;
width:100%;
font-size:15px;
background-color:#FFF;
}
ul#navigation li {
display: table-cell;
margin:0;
padding:14px 3px 14px 3px;
text-align:center;
}
ul.sub_navigation {
position:absolute;
display:none;
margin:0;
padding:0;
background-color:#FFF;
opacity:0.8;
list-style-type:none;
}
ul.sub_navigation li {
clear:both;
}
ul#navigation li a,
ul#navigation li a:active,
ul#navigation li a:visited {
color:#000000;
text-decoration:none;
display:block;
}
ul#navigation li a:hover {
color:#478961;
}
<ul id="navigation">
<li class="dropdown">
<a href="">Item 1</a>
<ul class="sub_navigation">
<li><a href="">Sub item 1</a></li>
<li><a href="">Sub item 2</a></li>
</ul>
</li>
<li><a href="">Item 2</a></li>
</ul>
我可以添加哪些sub_navigation样式来垂直显示subenu项目?
由于 维克多
答案 0 :(得分:3)
由于元素设置为clear:both
,只需将float:left
添加到子导航中的li元素即可。
ul.sub_navigation li {
float:left;
clear:both;
}
答案 1 :(得分:0)
如果这是你想要的,那么这样做没有花车:
ul.sub_navigation li a {
display: inline-block;
}
http://css-tricks.com/fighting-the-space-between-inline-block-elements/