9

What I basically want is to make each child element's height to wrap its content.

Here is my code:

<style>

.parent{
        display: flex;
    }

.child{

    padding: 5px;
    margin: 10px;
    background: green;
    height: auto;
}   

</style>

<div class="parent">

    <div class="child">child1</div>
    <div class="child">child2</div>
    <div class="child">child3</div>
    <div class="child" style="height:50px">child1</div>

</div>

Output:
enter image description here

Expected output:
enter image description here

Michael Benjamin
  • 307,417
  • 93
  • 525
  • 644
dsharew
  • 9,927
  • 6
  • 43
  • 71

1 Answers1

16

You just need to set align-items: flex-start on parent element because default value is stretch.

.parent {
  display: flex;
  align-items: flex-start;
}

.child {
  padding: 5px;
  margin: 10px;
  background: green;
  height: auto;
}
<div class="parent">
  <div class="child">child1</div>
  <div class="child">child2</div>
  <div class="child">child3</div>
  <div class="child" style="height:50px">child1</div>
</div>
Nenad Vracar
  • 111,264
  • 15
  • 131
  • 153