您可以在 HTML 中找到很多关于菜单栏的教程,但是对于这个特定的(尽管恕我直言是通用的)案例,我还没有找到任何合适的解决方案:
# THE MENU ITEMS SHOULD BE JUSTIFIED JUST AS PLAIN TEXT WOULD BE #
# ^ ^ #
- 纯文本菜单项的数量各不相同,页面布局也很流畅。
- 第一个菜单项应该左对齐,最后一个菜单项应该右对齐。
- 其余项目应最佳地分布在菜单栏上。
- 数字是变化的,所以没有机会预先计算出最佳宽度。
请注意, TABLE 在这里也不起作用:
- 如果将所有 TD 居中,则第一项和最后一项不会正确对齐。
- 如果您左对齐和右对齐第一个响应。最后一项,间距将是次优的。
没有明显的方法通过使用 HTML 和 CSS 以干净的方式实现这一点,这难道不奇怪吗?
原文由 flight 发布,翻译遵循 CC BY-SA 4.0 许可协议
现代方法 - Flexboxes !
现在 CSS3 flexboxes 有了 更好的浏览器支持,我们中的一些人终于可以开始使用它们了。只需添加额外的供应商前缀 即可覆盖更多浏览器。
In this instance, you would just set the parent element’s
display
toflex
and then change thejustify-content
property to eitherspace-between
orspace-around
以便在子 flexbox 项目之间或周围添加空间。使用
justify-content: space-between
- ( 此处示例) :使用
justify-content: space-around
- (此处示例) :