html - 如何像金字塔一样按行对齐列表项?

标签 html css flexbox

我有一行列表项 (3, 2, 1),我希望每个列表项都居中对齐,使它们看起来像金字塔。到目前为止,这是我的代码:

.app {
  display: table;
    margin: 0 auto;
}

.row {
    margin-bottom: 20px;
}

.tree ul {
    list-style: none;
}

.node {
    display: inline-block;
    text-align: center;
    margin-right: 10px;
    margin-left: 10px;
    padding-top: 16px;
    width: 130px;
    height: 40px;
    border: 2px solid rgba(0,0,0,.2);
    border-radius: 5px;
    color: rgba(0,0,0,.6);
}

.male {
    background: #a4ecff;
}

.female {
    background: #fdaed8;
}
<div class="app">
  <ul class="row">
    <li class="node male">Ken Cross</li>
    <li class="node female">Karen Heffron</li>
  </ul>
  <ul class="row">
    <li class="node female">Melissa Cross</li>
    <li class="node female">Kristen Cross</li>
    <li class="node male">Jacob Cross</li>
  </ul>
</div>

我希望 Ken Cross 和 Karen Heffron 在 Melissa Cross 和 Jacob Cross 之间形成一个金字塔。

最佳答案

像这样?

.app {
  display: table;
    margin: 0 auto;
}

.row {
    margin-bottom: 20px;
    display:flex; /* added */
    justify-content:center; /* added */
}

.tree ul {
    list-style: none;
}

.node {
    display: inline-block;
    text-align: center;
    margin-right: 10px;
    margin-left: 10px;
    padding-top: 16px;
    width: 130px;
    height: 40px;
    border: 2px solid rgba(0,0,0,.2);
    border-radius: 5px;
    color: rgba(0,0,0,.6);
}

.male {
    background: #a4ecff;
}

.female {
    background: #fdaed8;
}
<div class="app">
  <ul class="row">
    <li class="node male">Ken Cross</li>
    <li class="node female">Karen Heffron</li>
  </ul>
  <ul class="row">
    <li class="node female">Melissa Cross</li>
    <li class="node female">Kristen Cross</li>
    <li class="node male">Jacob Cross</li>
  </ul>
</div>

关于html - 如何像金字塔一样按行对齐列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54809611/

相关文章:

javascript - 奇怪的 Angular-ChartJS 问题,无法在 Ionic App 中正确显示

javascript - 如何在脚本标签的 src 中使用变量?

html - 尝试创建列 HTML CSS

html - 无法将一行分成两列

html - 不同屏幕的响应能力

javascript - 切换类名不起作用

javascript - 忽略全局 SCSS Webpack CSSModule

css - 使 flex 元素拉伸(stretch)全高并垂直居中其内容

jquery - 在大屏幕上按行显示 flex 元素,但在小屏幕上垂直堆叠

html - 如何开始一个新行并将换行符与 flexbox 中的另一个元素对齐?