Stretch child div height to fill parent that has dynamic height

前端 未结 5 2071
执笔经年
执笔经年 2020-12-02 12:37

As it can be seen in the following fiddle, I have two divs, contained in a parent div that have stretched to contain the big div, my goal is to mak

相关标签:
5条回答
  • 2020-12-02 13:23

    You can do it easily with a bit of jQuery

    $(document).ready(function(){
      var parentHeight = $("#parentDiv").parent().height();
      $("#childDiv").height(parentHeight);
    });
    
    0 讨论(0)
  • 2020-12-02 13:26

    The solution is to use display: table-cell to bring those elements inline instead of using display: inline-block or float: left.

    div#container {
      padding: 20px;
      background: #F1F1F1
    }
    .content {
      width: 150px;
      background: #ffffd;
      padding: 10px;
      display: table-cell;
      vertical-align: top;
    }
    .text {
      font-family: 12px Tahoma, Geneva, sans-serif;
      color: #555;
    }
    <div id="container">
      <div class="content">
        <h1>Title 1</h1>
    
        <div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
          <br>Sample Text. Sample Text. Sample Text.
          <br>Sample Text.
          <br>
        </div>
      </div>
      <div class="content">
        <h1>Title 2</h1>
    
        <div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.</div>
      </div>
    </div>

    Working Fiddle

    0 讨论(0)
  • 2020-12-02 13:27

    Add the following CSS:

    For the parent div:

    style="display: flex;"
    

    For child div:

    style="align-items: stretch;"
    
    0 讨论(0)
  • 2020-12-02 13:29

    https://www.youtube.com/watch?v=jV8B24rSN5o

    I think you can use display as grid:

    .parent { display: grid };
    
    0 讨论(0)
  • 2020-12-02 13:33

    Use display: flex to stretch your divs:

    div#container {
        padding:20px;
        background:#F1F1F1;
        display: flex;
    }
    
    .content {
        width:150px;
        background:#ffffd;
        padding:10px;
        margin-left: 10px;
    }
    

    JSFIDDLE

    0 讨论(0)
提交回复
热议问题