JSFiddle - React, Tailwind, and code Playground
by justi
HTML
<div class="ribbon1">123</div>
<p class="ribbon">123</p>
CSS
.ribbon1 {
background: gray;
height: 80px;
width: 50px;
position: relative;
text-align: center;
font: 600 16px sans-serif;
color: #fff;
line-height: 100px;
border: 0;
}
.ribbon1:after {
content: "";
position: absolute;
bottom: -28px;
left: 0;
height: 0;
width: 0;
border: solid 25px gray;
border-bottom-color: transparent;
}
.ribbon1:hover {
background: purple;
}
.ribbon1:hover:after {
border-color: purple;
border-bottom-color: transparent;
}
.ribbon {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
width: 0;
height: 100px;
border: 50px solid #1abc9c;
border-top: 0 solid;
border-bottom: 35px solid rgba(0,0,0,0);
font: normal 100%/normal Arial, Helvetica, sans-serif;
color: rgba(0,0,0,1);
-o-text-overflow: clip;
text-overflow: clip;
}