如何使用css flexbox实现浮在底部并向右浮动?

时间:2015-11-17 11:22:41

标签: css css3 flexbox

如何使用CSS3 flexbox模拟浮动左下方并向右浮动?我想实现以下情况(重要: div框中的文本也应该是垂直和水平居中的):

following situation

编辑:PLNKR示例:http://plnkr.co/edit/oVfbAAIZxRQLRRML7rJR?p=preview 但是div框中的文本也应该是垂直和水平居中的。

应该增加以下代码:

display: flex;         // for parent container
align-self: flex-end;  // for child div-1 to place it at bottom
margin-left: auto;     // for child div-2 to place it right top

(我不喜欢margin-left: auto,因为在非常小的屏幕上没有最小边距。)

解决方案:

上面的代码使用下面的代码进行了扩充,并且孩子们获得了额外的css:

display: flex;             // also for child box for its content
align-items: center;       // center vertically
justify-content: center;   // center text horizontally

2 个答案:

答案 0 :(得分:5)

试试这个https://jsfiddle.net/2Lzo9vfc/108/

HTML

<div class="content">
    <div class="div div-1">Div 1</div>
    <div class="div div-2">Div 2</div>
</div>

<强> CSS

.content {
    display: flex;
    padding: 20px;
    border: 1px solid black;
    width: 100%;
    height: 200px;
    flex-wrap: wrap;   /* is not necessary */ 
}

.div {
    padding: 25px;
    height: 20px;
    color: white;
    background: black;
}

.div-1 {
    align-self: flex-end;
}

.div-2 {
    margin-left: auto;
}

答案 1 :(得分:0)

这就是解决方案:

父母和孩子都必须使用flex。 (col-md-12来自bootstrap,与问题无关)

<强> HTML

  <div class="content col-md-12">
      <div class="div div-1">Div 1</div>
      <div class="div div-2">Div 2</div>
  </div>

<强> CSS

.content {
    display: flex;
    padding: 20px;
    border: 1px solid black;
    height: 200px;
    flex-wrap: wrap;  /* is not necessary */ 
}

.div {
    padding: 10px;
    color: white;
    background: black;
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.div-1 {
    height: 90px;
    align-self: flex-end;
 }

.div-2 {
    height: 60px;
    margin-left: auto;
 }