【问题标题】:align flex child at top-center and bottom-center, flexbox在顶部中心和底部中心对齐 flex 子元素,flexbox
【发布时间】:2016-10-17 07:16:45
【问题描述】:

我需要一个使用 flexbox 的布局,其中 2 个 flex-item,item-1 应该在顶部居中对齐,而 item-2 应该在底部居中。我不知道该怎么做。

见以下代码:

.container{
  padding:10px;
  background: #fff;
  border-radius:5px;
  margin: 45px auto;
  box-shadow: 0 1.5px 0 0 rgba(0,0,0,0,1.1);
}

.item{
  color: #fff;
  padding: 15px;
  margin: 5px;
  background: #3db5da;
  border-radius: 3px;
}

.container{
  display: flex;
  min-height: 50vh;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.item{
  /*margin: auto;*/
  /*align-self: flex-start;*/
}

.item-4{
  align-self: flex-start;
}
<div class="container">
  <div class="item item-4">
    Flex Item
    <p>Vertical and horizontal align easy!</p>
  </div>
  <div class="item item-5"> bottom-center</div>
</div>

这里是小提琴链接:https://jsfiddle.net/q5cw4xvy/

【问题讨论】:

  • .container元素的justify-content属性更改为space-between,并从第二个子元素中移除align-self属性。
  • 你使用了flex这个标签,请改成flexbox,以免混淆

标签: html css flexbox


【解决方案1】:

您正在寻找的是justify-content: space-between; 来对齐项目直到角落。 将其添加到 .container 即可。

.container{
    /*justify-content: center;*/
    justify-content: space-between;
}

.item-4 你有align-self: flex-start; 但你不需要那个。删除它。

https://jsfiddle.net/q5cw4xvy/2/

为了更好地帮助你理解 flexbox,有一个非常好的css-tricks article

【讨论】:

    【解决方案2】:

    你的意思是这样的吗? https://jsfiddle.net/da4jdff7/1/

    .container{
    display: flex;
    min-height: 50vh;
    align-items: center;
    flex-direction: column;
    }
    
    .item-5 {
    margin-top: auto
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 2018-12-12
      • 2017-01-30
      • 2015-08-11
      相关资源
      最近更新 更多