【发布时间】:2014-07-02 14:57:33
【问题描述】:
我正在寻找一种方法来制作水平菜单,其中菜单项在宽度上对齐,具有填充,并且当菜单项的数量超过容器空间时溢出到新行。
HTML:
<div id='upper-menu-wrapper'>
<div id='upper-menu'>
<ul>
<li>About</li>
<li>Parenting</li>
<li>Receipes</li>
<li>Devotional</li>
<li>DIY Projects</li>
<li>Home-making</li>
<li>Pregnancy</li>
<li>Frugal Living</li>
</ul>
</div>
</div>
CSS:
#upper-menu-wrapper {
width: 100%;
}
#upper-menu {
width: 1200px;
margin: 0 auto;
overflow: auto;
}
#upper-menu > ul {
list-style-type: none;
text-align: justify;
width: 100%;
}
#upper-menu > ul > li {
display: inline-block;
padding: 1em;
text-align: center;
}
【问题讨论】:
-
这可能会对您有所帮助。您最好的选择可能是使用表格单元格。 stackoverflow.com/questions/5060923/…
-
一旦容器空间被超过......它会是什么样子?
text-align:center可能是更好的选择。 -
看这个:jsfiddle.net/abhitalks/MXZ6w/2(取自@SamGoody的优秀解决方案:stackoverflow.com/a/15232761/1355315.)
-
@preahkumpii:是的。这个空间很难摆脱。它确实是由伪元素引起的,但没有它,元素的正当性是不可能的。选择更好的邪恶:)
-
@preahkumpii:完成。添加为答案。希望有帮助。