CSS下拉菜单:子项的位置

时间:2012-10-17 22:24:17

标签: css wordpress drop-down-menu

我尝试使用CSS为Wordpress模板创建一个下拉菜单。当我悬停一个menuitem(例如你可以在图片上看到的“Cupcake Ipsum”)时,整个菜单会以一种奇怪的方式显示。

我希望图片不言自明。菜单项“Cupcake Ipsum”悬浮在菜单的底部视图中:

enter image description here

我的HTML代码(来自firebug)是:

<div id="menu" role="navigation">
<div class="menu">
<ul>
<li class="current_page_item">
<a title="Home" href="http://whatever.com/wordpress/">Home</a>
</li>
<li class="page_item page-item-40">
<a href="http://whatever.com/wordpress/?page_id=40">Cupcake Ipsum</a>
<ul class="children">
<li class="page_item page-item-388">
<a href="http://whatever.com/wordpress/?page_id=388">Red Velvet Cupcake</a>
</li>
<li class="page_item page-item-390">
<a href="http://whatever.com/wordpress/?page_id=390">Mango Cupcake</a>
</li>
<li class="page_item page-item-392">
<a href="http://whatever.com/wordpress/?page_id=392">Chocolate Cupcake</a>
</li>
</ul>
</li>
<li class="page_item page-item-43">
<a href="http://whatever.com/wordpress/?page_id=43">Bacon Ipsum</a>
<ul class="children">
<li class="page_item page-item-405">
</ul>
</li>
<li class="page_item page-item-45">
<a href="http://whatever.com/wordpress/?page_id=45">Veggie Ipsum</a>
<ul class="children">
<li class="page_item page-item-397">
<a href="http://whatever.com/wordpress/?page_id=397">Tomato</a>
</li>
<li class="page_item page-item-399">
<a href="http://whatever.com/wordpress/?page_id=399">Lettuce</a>
</li>
<li class="page_item page-item-401">
<a href="http://whatever.com/wordpress/?page_id=401">Broccoli</a>
</li>
<li class="page_item page-item-403">
<a href="http://whatever.com/wordpress/?page_id=403">Onion</a>
</li>
</ul>
</li>
</ul>
</div>
</div>

我的CSS代码是:

#menu ul li a {
text-decoration: none;
color: #CCCCCC;
font-size: 16px;
padding: 10px;
display: block;
position:relative;
}

#menu ul li a:hover {
background-color: #006699;
color: #FFFFFF;
}

#menu ul li ul li a {
clear: left;
line-break: strict;
background-color: #006699;
padding: 5px;
font-size: 10px;
}

#menu ul li ul li {
display: block;
float: none;
clear: left;
}

.menu ul li {
display: inline-block;
position: relative;
}

.menu li ul {
position: absolute;
}

.menu li:not(:hover) ul {
display: none; 
}

我想创建一个下拉菜单,其中一个子项位于另一个下方。尝试了很多,但我无法正确安排子项目。

2 个答案:

答案 0 :(得分:0)

你能把你的代码放在jsfiddle中吗?在此之前,我可以告诉您,主要<li>的一个子要素是display: block;,并将其他顶级<li>推出展示位置。

答案 1 :(得分:0)

你省略了什么?您在this fiddle中的确切代码有效,检查您的CSS,您有一些覆盖某些规则的内容,检查每个元素,查看您在此处粘贴的规则何时被覆盖。