JSFiddle - React, Tailwind, and code Playground
by Pangur Ban
HTML
<div class="action shadow1">
<div class="action_tab">
<div class="action_body">
<div class="action_icon"></div>
<div class="action_title"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus reiciendis, minus veritatis incidunt ab voluptatum aut repellendus animi sed nesciunt qui, eum debitis, dolor eius voluptas iste placeat ea illum!</div>
<div class="action_menu"></div>
</div>
</div>
</div>
<div class="action action--shadow2">
<div class="shadow2"></div>
<div class="action_tab">
<div class="action_body">
<div class="action_icon"></div>
<div class="action_title"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus reiciendis, minus veritatis incidunt ab voluptatum aut repellendus animi sed nesciunt qui, eum debitis, dolor eius voluptas iste placeat ea illum!</div>
<div class="action_menu"></div>
</div>
</div>
</div>
<div class="action shadow3">
<div class="action_tab">
<div class="action_body">
<div class="action_icon"></div>
<div class="action_title"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus reiciendis, minus veritatis incidunt ab voluptatum aut repellendus animi sed nesciunt qui, eum debitis, dolor eius voluptas iste placeat ea illum!</div>
<div class="action_menu"></div>
</div>
</div>
</div>
SCSS
.shadow1 {
box-shadow: 2px 2px #fff,
3px 3px rgba(0, 0, 0, 0.2);
}
.action--shadow2 { position: relative; }
.shadow2 {
box-sizing: border-box;
position: absolute;
width: 100%;
height: 100%;
bottom: -2px;
right: -2px;
border: 1px solid #ccc;
z-index: -1;
&:after {
content: '';
position: absolute;
left: -1px;
top: -1px;
bottom: -1px;
width: 6px;
background: #607D8B;
}
}
.shadow3 {
position: relative;
&:after {
content: '';
position: absolute;
right: -7px;
bottom: -7px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #607D8B;
background: #ccc;
}
}
body {
margin: 0;
background: #fff;
}
.action {
width: 200px;
background: #fff;
margin: 20px;
&_tab {
border-left: 6px solid #607D8B;
}
&_body {
display: flex;
align-items: center;
padding: 8px 6px;
border: 1px solid #ccc;
border-left: 0;
}
&_icon {
flex-shrink: 0;
width: 24px;
height: 24px;
margin-right: 6px;
background: rgba(0, 0, 0, 0.1);
}
&_title {
$line-height: 1.4;
max-height: $line-height * 2em;
overflow: hidden;
flex: 1;
font: 12px/1.4 Arial;
}
&_menu {
flex-shrink: 0;
width: 24px;
height: 24px;
margin-left: 6px;
background: rgba(0, 0, 0, 0.1);
}
}