JSFiddle - React, Tailwind, and code Playground

HTML

<div class="first">
    <div>qqqqqq а fsdf ываыв sdf  ыва ываыв fsdf</div>
    <div>qqqqqq а fsdf</div>
    <div>qqqqqq а fsdf ываыв fsdf </div>
    <div>qqqqqq а fsfsdf </div>
    <hr />
</div>
<div class="second">
    <div>qqqqqq а fsdf ываыв sdf  ыва ываыв fsdf</div>
</div>
<div class="second">
    <div>qqqqqq а fsdf</div>
</div>
<div class="second">
    <div>qqqqqq а fsdf ываыв fsdf </div>    
</div>
<div class="second">
    <div>qqqqqq а fsfsdf </div>
</div>

CSS

hr {
    margin:0;
    padding:0;
}
.first div{
    display:inline-block;
    position:relative;    
    background-color:red;
    overflow:hidden;
    max-width:10em;    
    padding-bottom:1.5em;
}
.first div:before,
.first div:after{
    content:"";
    display:block;
    position:absolute;
    top:100%;
    left:0;
    margin-top:-1.5em;
    width:100%;
    height:100%;
    background-color:white;
 }
.first div:before{
    transform-origin: left top;
    transform: rotate(15deg);
}
.first div:after{
    transform-origin: top right;
    transform: rotate(-15deg);
}

.second {background: #333;position:relative;
    position:relative;
    height:50px;
}
.second div+div{
}
.second div {
    display: inline-block;
    position: absolute;
    left: 16%;
    top: 0;
    font-family: 'PT Sans Narrow', sans-serif;
    font-size: 12px;
    font-weight: 700;
    background: #8bc807;
    color: #fff;
    text-transform: uppercase;
    padding: 5px 10px;
}
.second div:before, .second div:after {
    position: absolute;
    top: 100%;
    content: '';
    width: 50%;
    height: 7px;
}
.second div:before {
    left: 0px;
    background: linear-gradient(to right top, transparent 50%, #8bc807 50%);
}
.second div:after {
    right: 0px;
    background: linear-gradient(to left top, transparent 50%, #8bc807 50%);
}