mpe*_*pen 3 html css navigation html-lists
这是我到目前为止所做的:小提琴
虽然有2个问题:
li来33%,这是我不希望这样做,我可以轻松地添加更多的项目.#main-nav {
list-style: none;
margin: 0;
padding: 0;
width: 100%;
overflow: auto;
}
#main-nav li {
float: left;
width: 33%;
height: 25px;
text-align: center;
}
#main-nav li a {
width: 100%;
display: block;
height: 100%;
line-height: 25px;
text-decoration: none;
background-color: #e0e0f0;
font-weight: bold;
color: #021020;
}
#main-nav li a:hover {
background-color: #498cd5;
color: #ddeeee;
}Run Code Online (Sandbox Code Playgroud)
<ul id="main-nav">
<li><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
</ul>Run Code Online (Sandbox Code Playgroud)
请参阅: http ://jsfiddle.net/f6qmm/
display: table用于均匀地分隔动态数量的lis.不幸的是,这在IE7 中不起作用,因此*float: left被使用(仅适用于IE7及更低版本),因此至少它们都在一条线上 - 尽管它仍然看起来很可怕.
padding-left: 5px应用于每个li,然后li:first-child { padding-left: 0 }仅为第一个删除它li.
#main-nav {
list-style: none;
margin: 0;
padding: 0;
width: 100%;
display: table;
table-layout: fixed;
overflow: hidden
}
#main-nav li {
display: table-cell;
*float: left; /* improve IE7 */
height: 25px;
text-align: center;
padding-left: 5px
}
#main-nav li:first-child {
padding-left: 0
}
#main-nav li a {
width: 100%;
display: block;
height: 100%;
line-height: 25px;
text-decoration: none;
background-color: #e0e0f0;
font-weight: bold;
color: #021020;
}
#main-nav li a:hover {
background-color: #498cd5;
color: #ddeeee;
}Run Code Online (Sandbox Code Playgroud)
<ul id="main-nav">
<li><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
</ul>
<hr />
<ul id="main-nav">
<li><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
<li><a href="#">four</a></li>
<li><a href="#">five</a></li>
</ul>Run Code Online (Sandbox Code Playgroud)