ul li导航菜单居中问题

  昨晚群里一个朋友帮忙解决的问题,之前没有遇到过,题目如下:

不改变html结构,使导航菜单垂直水平居中,导航宽度自适应屏幕100%,高度30px;单项高度28px,宽80px;
兼容:ie6+,ff,chrome,opera等主流浏览器。
html:
程序代码 Example Source Code

   <ul id="nav">
       <li><a href="#">home</li>
       <li><a href="#">advice</li>
       <li><a href="#">page</li>
       <li><a href="#">people</li>
       <li><a href="#">service</li>
   </ul>


注意:html结构不能变,菜单宽高可定义!


[本日志由 woniu 于 2010-11-04 09:20 AM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ulli居中导航居中菜单居中
相关日志:
评论: 8 | 引用: 0 | 查看次数: -
回复回复clearskin[2011-10-26 10:29 AM | del]
<style>
<!--
#nav{width:100%; height:30px; list-style:none; white-space:nowrap;}
#nav li{  float:left;  height:28px; line-height:28px; margin:auto;width:80px;}

#nav li.first{margin-left:30%;}
#nav li.last{margin-right:30%;}
-->
</style>

<ul id="nav">
       <li class="first"><a href="#" >home</a></li>
       <li><a href="#">advice</a></li>
       <li><a href="#">page</a></li>
       <li><a href="#">people</a></li>
       <li class="last"><a href="#" >service</a></li>
   </ul>
回复来自 woniu 的评论 woniu 于 2011-10-27 11:32 AM 回复
ie6不兼容
回复回复晴天小猪[2010-11-01 04:22 PM | del]
<style type="text/css">
*{margin:0; padding:0;}
ul,li{list-style:none;}
.clear{clear:both;}
#nav{width:100%; white-space:nowrap; overflow:hidden; background:#ccc; position:relative; }
#nav li{  float:left; position:relative; left:50%; }
#nav .a1{margin-left:-240px;} #nav .a2{margin-left:-160px;} #nav .a3{margin-left:-80px;}
#nav li a{ display:block;  text-align:center; line-height:28px; background:#ccc; color:#000; width:80px; height:28px;}
</style>

<ul id="nav">
       <li class="a1"><a href="#">home</a></li>
       <li class="a2"><a href="#">advice</a></li>
       <li class="a3"><a href="#">page</a></li>
       <li><a href="#">people</a></li>
       <li><a href="#">service</a></li>
   </ul>

回复来自 woniu 的评论 woniu 于 2010-11-01 04:52 PM 回复
思路很棒....兼容性很好 谢谢分享....
回复回复Guest[2010-06-25 02:02 PM | del]
#nav{display:block; height:30px; background:#EEE;padding:0; margin:0; top:50%; position: absolute; width:100%; margin-top:-15px; text-align:center;}
#nav li{display:inline-block; -display:inline; zoom:1; width:80px; height:28px; line-height:28px;}

回复来自 woniu 的评论 woniu 于 2010-06-25 02:59 PM 回复
要求导航菜单是横向的,不是纵向居中.....
回复回复樱花下的吻[2010-06-05 11:22 PM | del]
<style type="text/css">
body{padding:0; margin:0}
#nav{display:table; height:30px; background:#EEE;padding:0; margin:0;  width:100%;}
#nav li{display:table-cell;  width:80px; height:28px; line-height:28px; text-align:center}
</style>
这样就可以处理了
回复来自 woniu 的评论 woniu 于 2010-06-25 02:56 PM 回复
不兼容
回复回复ryeen[2010-06-04 04:56 PM | del]
是这个意思吗?

body{padding:0; margin:0}
#nav{display:block; height:30px; background:#EEE;padding:0; margin:0; top:50%; position: absolute; width:100%; margin-top:-15px}
#nav li{display:block; float:left; width:80px; height:28px; line-height:28px; text-align:center}
回复来自 woniu 的评论 woniu 于 2010-06-04 10:07 PM 回复
呵呵,不对。li 左浮动了。要求是l导航居中
回复回复易棋牌[2010-06-01 04:00 PM | del]
v顶.....................
回复回复樱花下的吻[2010-05-31 05:33 PM | del]
等待博主处理,这也正是本人一直想要处理的问题,但却一直没有解决,望帮忙!!!
回复回复毒药[2010-05-29 02:45 AM | del]
<ul id="nav">
       <li><a href="#">home</li></li>
       <li><a href="#">advice</li></li>
       <li><a href="#">page</li></li>
       <li><a href="#">people</li></li>
       <li><a href="#">service</li></li>
   </ul>

这个是不是写错了。
应该是这样的吧。
<li><a href="#">service</a></li>
回复来自 woniu 的评论 woniu 于 2010-05-29 09:51 AM 回复
太粗心,改了...
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.