boxes with dividers
by Richard Hunter
HTML
<div class="container">
<div class="a">
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
<div class="b">b</div>
</div>
</div>
CSS
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
.container {
--divider: 2px;
--column-gap: 20px;
--border: 2px;
background: pink;
overflow: hidden;
}
.a {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
background: lightblue;
margin-left: calc(var(--column-gap) / -2);
}
.b {
background-color: #F6E0E0;
width: 105px;
border: solid var(--border) black;
height: 80px;
text-align: center;
line-height: 80px;
color: grey;
position: relative;
margin-bottom: 4px;
margin-left: calc(var(--column-gap) / 2);
margin-right: calc(var(--column-gap) / 2);
}
.b:after {
content: '';
position: absolute;
right: 100%;
top: 50%;
display: inline-block;
width: var(--divider);
height: 50px;
background-color: coral;
transform: translateY(-50%);
margin-right: calc(((var(--column-gap) - var(--divider)) / 2) + var(--border));
}