JSFiddle - React, Tailwind, and code Playground
by arjun chaudhary
HTML
<div class="bvc">
<div class="bevel tl"></div>
<div class="content">Top right, bottom left</div>
<div class="bevel br"></div>
</div>
CSS
.bvc { left: -15px }
.bevel, .content { border-width: 15px }
.bevel, .content { border-color: #000; border-style:solid; }
.bvc {
width: 90%;
margin: 0 auto;
position: relative;
margin-bottom: 15px;
padding-right: 30px;
}
.bvc .tr, .bvc .tl, .bvc .br, .bvc .bl { height: 0px; width: 100%; }
.bvc .tr, .bvc .tl { border-top: 0; }
.bvc .br, .bvc .bl { border-bottom: 0; }
.bvc .tr, .bvc .br { border-right-color: transparent;
position:relative;
}
.bvc .tl, .bvc .bl { border-left-color: transparent;
position:relative;
}
.bvc .tl:before {
content:'';
width:100%;
height:0;
position:absolute;
top:-1px;
left:-17px;
z-index:-2;
border:16px solid red;
border-left-color:transparent;
border-top:0;
border-right-width:17px;
}
.bvc .br:before {
content:'';
width:100%;
height:0;
position:absolute;
top:-15px;
right:-16px;
z-index:-2;
border:16px solid red;
border-right-color:transparent;
border-bottom:0;
border-left-width:17px;
}
.no_bevel { height: 0px; width: 100%; border-bottom: 0; }
.content {
background: #000;
color: #FFF;
width: 100%;
border-top: 0;
border-bottom: 0;
position:relative;
}
.content:before {
content:'';
width:100%;
height:100%;
border:16px solid red;
position:absolute;
border-bottom:none;
border-top:none;
left:-17px;
border-left-width:17px;
top:0;
z-index:-2;
}