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
  • 346,931
  • 104
  • 581
  • 701
dsharew
  • 10,377
  • 6
  • 49
  • 75

1 Answers1

17

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
  • 118,580
  • 15
  • 151
  • 176