【问题标题】:Flexbox column direction same widthFlexbox 列方向同宽
【发布时间】:2016-01-25 22:40:42
【问题描述】:

如何使列方向子级的 flexbox 具有相同的宽度。

JSFiddle 示例: https://jsfiddle.net/6ynofan5/

<div class="block">
  <div class="title">Some dummy text here, huh</div>

  <div class="info">
    <div class="text">1</div>
    <div class="text">2</div>
    <div class="text">3</div>
  </div>
</div>

 

.block {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.block .title {
  font-size: 30px;
}
.block .info {
  display: flex;
  justify-content: space-between;
}

.info类的div应该和.title一样宽,不应该是固定宽度。

【问题讨论】:

    标签: html css flexbox


    【解决方案1】:

    宽度的均衡由align-items 管理,默认为stretch。在这种情况下,您已经覆盖了 this,因此需要一个包装器。

    那么两个内部 div 可以是它们自然的 100% 宽度。

    .block {
      display: flex;
      flex-direction: column;
      border: 1px solid grey;
      justify-content: center;
      align-items: center;
    }
    .title {
      font-size: 30px;
      background: lightblue;
    }
    .info {
      display: flex;
      justify-content: space-between;
      background: plum;
    }
    <div class="block">
    
      <div class="wrap">
    
        <div class="title">Some dummy text here, huh</div>
    
        <div class="info">
          <div class="text">1</div>
          <div class="text">2</div>
          <div class="text">3</div>
        </div>
    
      </div>
    
    </div>

    【讨论】:

    • 我添加了 align-items: center,因为它们应该在容器的中心,在你的回答中它们处于 flex-start 位置
    • 是的,改变 HTML 不是问题
    • 感谢您的帮助!
    【解决方案2】:
    .block {
    display: table;
    flex-direction: column;
    align-items: center;
    }
    

    https://jsfiddle.net/1mz9f8p0/1/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      相关资源
      最近更新 更多