我的代码看起来类似于这个:http: //jsfiddle.net/wJ6V5/
CSS
.u_menu {
background:#000;
height:40px;
width:100%;
background-image: -moz-linear-gradient(top, #97c840, #8ab63a);
background-image: -webkit-linear-gradient(top, #97c840, #8ab63a);
background-image: -o-linear-gradient(top, #97c840, #8ab63a);
}
ul.u_nav {
float:right;
margin-right:250px;
margin-top:7px;
}
ul.u_nav li {
font-size:14px;
background:#fff;
float:left;
margin-right:15px;
padding:3px 10px;
border-bottom:solid 1px #a6cd62;
box-shadow:inset 0 1px 1px 0 #666;
background-image: -moz-linear-gradient(top, #80ae2e, #8ebf38);
background-image: -webkit-linear-gradient(top, #80ae2e, #8ebf38);
background-image: -o-linear-gradient(top, #80ae2e, #8ebf38);
}
HTML
<div class="u_menu">
<ul class="u_nav">
<li>Test</li>
<li>Teest</li>
</ul>
</div>
在 Firefox 页面看起来不错(就像我想要的那样),但在 Chrome 和 Opera 中 li 元素不在主 div 的中间。它们离顶部边框更近 1px。
我认为这是因为 Chrome 和 Opera 将边框高度添加到 li 高度,所以在这些浏览器中 li 元素比 FF 中高 1px,但我不确定这是否是一个原因。
有什么办法可以解决吗?我希望在 Chrome 和 Opera 中的效果与在 Firefox 中完全相同。还是有其他方法可以在u_menu div 中间设置 li 元素?