JSFiddle - React, Tailwind, and code Playground
by cjake
HTML
<div class="wrapper">
<div class="container">
<div class="item">
Item
</div>
</div>
<div class="container">
<div class="item">Item</div>
<div class="item">Item</div>
</div>
<div class="container">
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
</div>
</div>
CSS
* {
box-sizing: border-box;
font-family: Arial, sans-serif;;
}
body {
margin: 0;
}
.wrapper,
.container {
display: flex;
flex-wrap: wrap;
}
.wrapper {
align-items: flex-start;
}
.container {
width: calc(1/3 * 100% - 2em);
flex-direction: column;
border: 1px solid #eee;
margin: 1em;
/* Optional : if you want border-radius on the container */
border-radius: 5px;
overflow: hidden;
}
.item {
padding: 1em;
}
/* Style for standalone element */
.item:nth-child(1):nth-last-child(1) {
background: lemonchiffon;
}
/* Style for element that has 2 childs */
.item:nth-child(1):nth-last-child(2),
.item:nth-child(2):nth-last-child(1) {
background: lightskyblue;
}
/* Style for element that has 3 childs */
.item:nth-child(1):nth-last-child(3),
.item:nth-child(2):nth-last-child(2),
.item:nth-child(3):nth-last-child(1) {
background: thistle;
}
/* Style for element that has 4 childs */
.item:nth-child(1):nth-last-child(4),
.item:nth-child(2):nth-last-child(3),
.item:nth-child(3):nth-last-child(2),
.item:nth-child(4):nth-last-child(1) {
background: gainsboro;
}
/* For further information, see http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/ */