builder layout
by Tyler Brown
HTML
<div class="row row-arrows">
<div class="box">
<div class="arrow"></div>
</div>
<div class="box">
<div class="arrow"></div>
</div>
<div class="box">
<div class="arrow"></div>
</div>
<div class="box">
<div class="arrow"></div>
</div>
</div>
<div class="row row-card">
<div class="box">
<div class="card">card a</div>
</div>
<div class="box">
<div class="card">card b</div>
</div>
<div class="box">
<div class="card">card c</div>
</div>
<div class="box">
<div class="card">card c</div>
</div>
</div>
CSS
div {
box-sizing: border-box;
}
.row {
display: flex;
flex-direction: row;
/* border: 1px solid red; */
justify-content: center;
}
.box {
width: 200px;
/* height: 50px; */
/* margin: 10px; */
/* border: 1px solid gray; */
}
.card {
border: 1px solid blue;
margin: 10px;
height: 50px;
}
.arrow {
/* border: 1px solid lime; */
height: 50px;
position: relative;
}
.arrow::before, .arrow::after {
display: block;
content: '';
position: absolute;
}
.arrow::after {
top: 0;
left: 50%;
height: 100%;
width: 0;
border-right: 1px solid red;
}
.arrow::before {
top: 0;
left: 0;
height: 0;
width: 100%;
border-top: 1px solid red;
}
.box:first-child .arrow::before {
left: 50%;
width: 50%;
}
.box:last-child .arrow::before {
width: 50%;
}