2017-03-11 36 views
0

我是HTML中的新Flex。我如何把我的柔性箱下面放到两个柔性箱

所以我的问题是我有三个div在我的flex容器。但要求是我想第三个div低于一个和第二个div。因为我使用了柔性容器display: flex。这三个分区本身也被安置在同一排。

有人可以帮助我。

.flex-container-site-footer { 
 
    display: flex; 
 
} 
 

 
.box { 
 
    height: 100px; 
 
    min-width: 100px; 
 
} 
 

 
.One { 
 
    background-color: blue; 
 
    flex-grow: 12; 
 
} 
 

 
.two { 
 
    background-color: yellow; 
 
    flex-grow: 12; 
 
} 
 

 
.three { 
 
    background-color: black; 
 
    flex-grow: 0 
 
}
<div class="flex-container-site-footer"> 
 
    <div class="box One"> 
 
    <p>Box 1</p> 
 
    </div> 
 
    <div class="box two"> 
 
    <p>Box 2</p> 
 
    </div> 
 
    <div class="box three"> 
 
    <p>Box 3</p> 
 
    </div> 
 
</div>

DEMO HERE

回答

2

这样做。所述flex速记用于(按顺序):

  • flex-grow
  • flex-shrink
  • flex-basis

别忘了autoprefix

.flex-container-site-footer{ 
 
    display:flex; 
 
    flex-wrap: wrap; 
 
} 
 
.flex-container-site-footer > * { 
 
    flex: 0 0 50%; 
 
    max-width: 50%; 
 
} 
 

 
.box{ 
 
    height:100px; 
 
} 
 
.One{ 
 
    background-color: blue; 
 
} 
 

 
.two{ 
 
    background-color: yellow; 
 
} 
 

 
.three{ 
 
    background-color: black; 
 
    flex-basis: 100%; 
 
    max-width: none; 
 
}
<div class="flex-container-site-footer"> 
 
    <div class="box One"> 
 
     <p>Box 1</p> 
 
    </div> 
 
    <div class="box two"> 
 
     <p>Box 2</p> 
 
    </div> 
 
    <div class="box three"> 
 
     <p>Box 3</p> 
 
    </div> 
 
</div>

+0

仅供参考,你不需要'MAX-width'并用一个简单的'柔性成长:1',可以简化代码:https://jsfiddle.net/7bzb8btc/ –

+1

谢谢@MichaelB。我知道这个标准并不要求它,但它是我在不破坏任何东西时使用的东西。我最近遇到了一个涉及利润和calc()的案例,这些案例涉及Android应用程序必须涉及Android 4.2浏览器,而我发现的唯一解决方法是使用'max-width'。我自从倾向于将这个想法加入它:*“它会伤害吗?”*。如果不是,我输入它。但我同意,在这里它有资格臃肿。 –