JSFiddle - React, Tailwind, and code Playground
by ovfiddle
HTML
<div class="fancy-box">
<h2>Title</h2>
<p>Content</p>
</div>
CSS
.fancy-box{
width:200px;
min-height:120px;
background:grey;
border:6px solid black;
border-left:none;
border-right:none;
position:relative;
top:40px;
left:40px;
}
.fancy-box:before{
content:"";
display:block;
background: grey;
position:absolute;
top:-6px;
bottom:20px;
width:20px;
left:-26px;
border:6px solid black;
border-right:none;
border-bottom:none;
}
.fancy-box:after{
content:"";
display:block;
background: grey;
position:absolute;
bottom:-6px;
top:20px;
width:20px;
right:-26px;
border:6px solid black;
border-left:none;
border-top:none;
}
.fancy-box>p:before{
content:"";
display:block;
height:0;
width:0;
border:13px solid black;
border-left-color:transparent;
border-bottom-color:transparent;
position:absolute;
bottom:-6px;
left:-26px;
}
.fancy-box>p:after{
content:"";
display:block;
height:0;
width:0;
border:13px solid black;
border-right-color:transparent;
border-top-color:transparent;
position:absolute;
top:-6px;
right:-26px;
}
.fancy-box>h2:before{
content:"";
display:block;
height:0;
width:0;
border:10px solid grey;
border-left-color:transparent;
border-bottom-color:transparent;
position:absolute;
bottom:0;
left:-20px;
z-index:1;
}
.fancy-box>h2:after{
content:"";
display:block;
height:0;
width:0;
border:10px solid grey;
border-right-color:transparent;
border-top-color:transparent;
position:absolute;
top:0;
right:-20px;
z-index:1;
}