2015-09-02 66 views
4

我有一个div.row包含3片具有不同的内容面板:引导 - 与高度和宽度相同

<div class="row equal"> 

    <div class="col-md-4"> 
     <div class="panel panel-default"> 
     <div class="panel-body"> 
      <h3>Title 1</h3> 
      <p>This is a paragraph</p> 
      <p>This is a paragraph</p> 
     </div> 
     </div> 
    </div> 

    <div class="col-md-4"> 
     <div class="panel panel-default"> 
     <div class="panel-body"> 
      <h3>Title 2</h3> 
      <p>This is a paragraph</p> 
      <p>This is a paragraph</p> 
      <p>This is a paragraph</p> 
     </div> 
     </div> 
    </div> 

    <div class="col-md-4"> 
     <div class="panel panel-default"> 
     <div class="panel-body"> 
      <h3>Title 3</h3> 
      <p>This is a paragraph</p> 
     </div> 
     </div> 
    </div> 

</div> 

我想将所有面板具有相同的高度,无论其内容,就像这个话题Twitter Bootstrap 3 - Panels of Equal Height in a Fluid Row,所以我已经设置了我的.equal类。

.equal, .equal > div[class*='col-'] { 
     display: -webkit-box; 
     display: -moz-box; 
     display: -ms-flexbox; 
     display: -webkit-flex; 
     display: flex; 
     flex:1 1 auto; 
} 

的问题是,虽然身高设定为等于每个面板的宽度已经改变了所有的面板,所以现在我的面板不具有相同的宽度(默认的)。

有没有一种方法可以修正宽度,或者可能使用另一种方法在我的所有面板中具有相同的宽度和高度?

JSFiddle

+0

由*(默认的)*你的意思是'.panel'应该占据'COL-MD-4'的全'width'? – vivekkupadhyay

回答

4

我想你想是这样的:

设置为便于参考分开。

.equal { 
    display: -webkit-box; 
    display: -moz-box; 
    display: -ms-flexbox; 
    display: -webkit-flex; 
    display: flex; 
} 

div[class*='col-'] { 
    flex:1 1 auto; 
    background: lightblue; 
    display: flex; 
} 
.panel { 
    flex:1 0 100%; 
} 

Codepen Demo

+1

这是不响应 – ymakux

+0

是的...这是...检查Codepen演示。 –

+1

我的意思是不堆叠的面板。尝试添加更多面板(例如4 X col-md-3) - 您将获得水平滚动条。 – ymakux