html - CSS - 带有水平居中的一行和两行长条目的顶部菜单 – 没有 flex?

标签 html css menu alignment

我正在尝试使用简单的 divdisplay:inline-table 构建一个顶部菜单,水平居中放置一些一两行长的条目。问题是我还没有找到一种方法来将只有一行长的条目(Item0 和 Item1)居中,除非我使用 display:flex。我想在不指定像素高度的情况下执行此操作。

条目周围的黄色框仅供引用,以便我更好地了解每个条目的情况。

由于我是前端开发的新手,我想知道是否有更好的方法来做到这一点。

这是 jsbin .

谢谢! J

最佳答案

您可以使用 display:table/table-cell 请参阅下面的代码片段(我稍微简化了您的代码):

片段

body {
  font-family: ubuntu;
}
#nav1 {
  width: 100%;
  background-color: grey;
  display: table
}
.menus {
  display: table-cell;
  vertical-align: middle;
  font-size: 0.9em;
  text-align: right;
  color: yellow;
  padding: 8px;
  border: solid 1px;
}
<div id="nav1">
  <div class="menus">
    Item 0 (1 line)
  </div>
  <div class="menus">
    Item 1 (1 line)
  </div>
  <div class="menus">
    Item 2 long text
    <br>item 2 long text
  </div>
  <div class="menus">
    Item 3 long text
    <br>item 3 long text
  </div>
  <div class="menus">
    Item 4 long text
    <br>item 4 long text production
  </div>
  <div class="menus">
    Item 5 long text
    <br>item 5 long text
  </div>
</div>

关于html - CSS - 带有水平居中的一行和两行长条目的顶部菜单 – 没有 flex?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281637/

相关文章:

linux - Bash 脚本菜单循环

javascript - 如何修复表单中的 'checkbox'

css - 使用 ZopfliPNG 自动优化 CSS 文件(数据 URI)中的 PNG

html - Bootstrap 3 - 将 4 个 div 按 25% 放置,并在下方再放置一个 div

css - 带有 XML 的输入字段

javascript - 如何使只有一个下拉列表被点击下拉?

php - 如何使用 while 循环统计并显示 php 的所有信息?

html - 问号字符显示在文本中。为什么是这样?

javascript - 倒计时音频持续时间javascript

html - 试图使两个导航菜单的宽度相同