代码之家  ›  专栏  ›  技术社区  ›  ltdev

Bootstrap-具有相同高度和宽度的面板

  •  4
  • ltdev  · 技术社区  · 9 年前

    我有一个 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

    2 回复  |  直到 8 年前
        1
  •  7
  •   Paulie_D    9 年前

    我想你想要这样的东西:

    设置分开以便于参考。

    .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

        2
  •  1
  •   stackoverfloweth    9 年前

    如果你将父母和所有孩子的身高设置为100%,会怎么样?

    .equal{
        height:200px;
    }
    .col-md-4, .panel{
        height:100%;
    }
    

    https://jsfiddle.net/aroxv143/1/