【发布时间】:2011-07-02 05:02:30
【问题描述】:
我需要创建一个水平导航菜单,其中包含不断变化的项目数量(这很重要 - 我不能将宽度硬编码到 CSS 中,我不想用 JS 计算它们)填充到一定的宽度,比如 800px。
有桌子,
<table width="800" cellspacing="0" cellpadding="0">
<tr>
<td>One</td>
<td>Two</td>
<td>Three</td>
<td>Four</td>
<td>Five Seven</td>
</tr>
</table>
<style>
table td {
padding: 5px 0;
margin: 0;
background: #fdd;
border: 1px solid #f00;
text-align: center;
}
</style>
请注意,较长的项目占用更多空间,我可以在不更改 CSS 中的任何内容的情况下将项目添加到 HTML 中,并且菜单项会缩小以容纳其他项目 - 整个菜单永远不会短于或长于 800 像素。
由于菜单在语义上不是对表格的正确使用,因此可以通过列表和纯 CSS 来实现吗?
【问题讨论】:
-
我能想到一些“几乎”但不是 100% 的解决方案。也许有
display:table-cell
标签: html css menu html-table navigation