I have a lot of box of different height and i would like to have this result:
But box are aligned relative to the biggest box height. I add this to container but size line is the bigger element.
display: flex;
margin: 9px;
flex-wrap: wrap;
This is little approach from modern grid layout. If you try you can manipulate grid row and column easily! Here is an example....
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 40px;
}
.wrapper {
margin: 0 0 20px 0;
width: 500px;
height: 400px;
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(3, 100px);
justify-content: center;
align-content: end;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 20px;
font-size: 150%;
}
.item1 {
grid-column: 1 / 3;
grid-row: 1/3;
}
.item2 {
grid-column: 1 / 3;
grid-row: 3 / 4;
}
.item3 {
grid-column: 3 / 5;
}
.item4 {
grid-column: 3 / 5;
grid-row: 2/4;
}
.item5 {
grid-column: 5 / 7;
grid-row: 1/ 3;
}
.item6 {
grid-column: 5 / 7;
grid-row: 3/ 4;
}
<div class="wrapper">
<div class="box item1">One</div>
<div class="box item2">Two</div>
<div class="box item3">Three</div>
<div class="box item4">Four</div>
<div class="box item5">Five</div>
<div class="box item6">Six</div>
</div>