Flexbox与底部对齐

时间:2016-03-08 11:32:59

标签: html css css3 flexbox

我有以下布局http://jsbin.com/joyetaqase/1/edit?html,css,output

.col

使用flexbox我试图为<p> div设置相同的高度和相同的宽度。

我的问题是:我怎样才能将<p>放在盒子的底部?

布局应如下所示:

enter image description here

我知道我可以使bottom:0;绝对并使用Arrays.sort()但我想用flexbox实现这一点,是否可能?

有人可以解释一下吗?

3 个答案:

答案 0 :(得分:2)

您可以采取以下方式。将display: flex; flex-direction: column;提供给 .colflex: 1 0 auto;h2

.row {
  width: 500px;
  font-family: monospace;
  display:flex;
}

.col {
  width: 50%;
  border: 1px solid #000;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
    flex-direction: column;
}

h2, p {
  font-weight: normal;
  margin: 0;
}

h2 {
    flex: 1 0 auto;
}
 <div class="row">
    
    
    <div class="col">
      <h2>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</h2>
      <p>my footer</p>
    </div>
    
     <div class="col">
      <h2>Lorem Ipsum.</h2>
      <p>my footer</p>
    </div>
    
    
  </div>

<强> Updated JSBin

答案 1 :(得分:1)

使.col成为嵌套的列方向flex容器。

.col {
  width: 50%;
  border: 1px solid #000;
  padding: 10px;
  box-sizing: border-box;

  /* NEW */
  display: flex;
  flex-direction: column;          /* stack <h2> and <p> vertically */
  justify-content: space-between;  /* align <h2> at top and <p> at bottom */
}

答案 2 :(得分:0)

为父母(.col)提供相对定位,然后使用属性bottom:0px;为页脚提供绝对定位。

JSBin

.col {
  width: 50%;
  border: 1px solid #000;
  padding: 10px;
  box-sizing: border-box;
  position:relative;
}

p{
  position:absolute;
  bottom:0px;
}