这是我对stackoverflow的第一篇文章,但是我一直在使用你们的知识,非常感谢!
我在菜单对齐方面遇到问题。我有一个wordpress菜单,我在li元素内添加了divs,以便每个菜单都可以有第一个/中间/最后一个分量。这样一来,我可以将当前菜单状态调高,而第一个和最后一个项目为“ endcaps”。很难解释,您可以在这里看到它:http://clarksvillevet.com/new/
请注意当前菜单项的中间如何“沉”?我无法弄清楚我在这里缺少什么。我以为是线的高度,但这只是移动了一点。我猜css上有重叠的部分(如果您知道我的意思,请两次调用它),但是再次,不知道。这是生成的HTML:
<div id="main-menu">
<ul id="menu-main-menu" class="menu">
<li id="menu-item-8" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8">
<li id="menu-item-23" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-9 current_page_item menu-item-23">
<div class="first"></div>
<div class="middle">
<a href="http://clarksvillevet.com/new/about-southside-va-veterinary-hospital/" title="About Southside Virginia’s Best Veterinary Hospital">About</a>
</div>
<div class="last"></div>
</li>
<li id="menu-item-20" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20">
<li id="menu-item-50" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50">
<li id="menu-item-56" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-56">
<li id="menu-item-62" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-62">
</ul>
</div>
和CSS
#main-menu{
width: 598px;
height: 51px;
margin: -6px 0px 0px;
z-index:401;
float: left;
background:url('images/BG-Menu.png') no-repeat top left transparent;
}
.menu {
list-style-type:none;
list-style-position:outside;
list-style-image:none;
position:relative;
z-index:300;
width: 598px;
height: 51px;
float: left;
line-height: 57px;
}
.menu ul{
position:absolute;
line-height: 57px;
overflow:hidden;
margin:0px;
padding:0px;
top: 51px;
left:0px;
display: none;
list-style-position:outside;
}
.menu a {
display:block;
display:inline-block;
padding:0px;
text-decoration:none;
letter-spacing: 1px;
font-size: 13px;
color: #dddddd;
margin: 0px;
}
.menu .first, .menu .middle, .menu .last {
position: relative;
padding:0px;
display: inline-block
}
.menu .first, .menu .last{
width: 11px;
height: 51px;
margin: 0px;
padding: 0px;
}
.menu .middle {
height:51px;
margin: 0px;
padding: 0px;
}
.menu a:hover {
color:#ffffff;
background-color:transparent;
}
.menu li {
float:left;
position:relative;
}
.menu ul a:hover {
color:#ffffff;
}
.menu li ul a {
width: 250px;
height: 32px;
float:left;
line-height: 30px;
background: url('images/BG-Drop-Menu.png') no-repeat top left transparent;
padding: 0px 0px 0px 20px;
color: #ffffff;
}
.menu li ul a:hover{
background: url('images/BG-Drop-Menu-Hover.png') no-repeat top left transparent;
}
.menu li ul ul {
left:0em;
margin:0px 0 0 10px;
}
.menu li:hover ul ul, .menu li:hover ul ul ul, .menu li:hover ul ul ul ul {
display:none;
}
.menu li:hover ul, .menu li li:hover ul, .menu li li li:hover ul, .menu li li li li:hover ul{
display:block;
}
.current-menu-item .first{
background:url('images/BG-Menu-Current-A.png') no-repeat top left transparent;
}
.current-menu-item .middle{
background:url('images/BG-Menu-Current-B.png') repeat-x top left transparent;
}
.current-menu-item .last{
background:url('images/BG-Menu-Current-C.png') no-repeat top left transparent;
}
.current-menu-item{
line-height: 51px;
}
还有一个下拉菜单,因此当您看到.menu ul display:none时,这就是它的作用...随时纠正可能出现的任何疯狂现象!谢谢!
最佳答案
所有子divs
都是内联块。发生这种情况时,如果行高度包含文本,则将应用行高。要解决此问题,您需要按如下所示浮动divs
。
.menu ul > div { float: left }