我想在一个 900px 的容器中均匀地拉伸 6 个导航项,它们之间有均匀的空白空间。例如...
---| 900px Container |---
---| HOME ABOUT BASIC SERVICES SPECIALTY SERVICES OUR STAFF CONTACT US |---
目前,我能找到的最佳方法如下:
nav ul {
width: 900px;
margin: 0 auto;
}
nav li {
line-height: 87px;
float: left;
text-align: center;
width: 150px;
}
这个问题有两个方面。首先,它并没有真正证明它的合理性,而是将 li 标签均匀地分布在整个 ul 标签中。在较小的菜单项(如“HOME”或“ABOUT”)和较大的菜单项(如“BASIC SERVICES”)之间创建不均匀的空白区域.
第二个问题是,如果导航项目大于 150 像素,则布局会中断,这是 SPECIALTY SERVICES ——即使整个导航有足够的空间。
谁能帮我解决这个问题?我一直在网上搜索解决方案,但它们似乎都不够用。仅在可能的情况下使用 CSS / HTML...
谢谢!
更新(7/29/13):使用表格单元是实现此布局的最佳现代方式。请参阅下面菲利克斯的回答。该table cell
属性目前适用于 94% 的浏览器。您必须对 IE7 及以下版本做一些事情,否则应该没问题。
更新(2013 年 7 月 30 日):不幸的是,如果您将此布局与媒体查询结合使用,则会有一个 webkit 错误会影响这一点。现在,您必须避免更改“显示”属性。 请参阅 Webkit 错误。
更新(2014 年 7 月 25 日):下面有一个更好的解决方案,现在涉及 text-align: justify。使用它更简单,您将避免 Webkit 错误。