css ul li导航栏菜单垂直居中难题处理方式

2021-03-11 11:54 jianzhan

昨晚群里1个盆友帮忙处理的难题,以前沒有遇到过,题型以下:
不更改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构造不可以变,菜单宽高可界定

拷贝编码
编码以下:

<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:⑵40px;} #nav .a2{margin-left:⑴60px;} #nav .a3{margin-left:⑻0px;}
#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>