JSFiddle - React, Tailwind, and code Playground
by undkonsorten
HTML
<div class="ribbon"><div class="ribbon-stitches-top"></div><strong class="ribbon-content"><h1> CSS Ribbon</h1></strong><div class="ribbon-stitches-bottom"></div></div>
<p>Source: <a href="http://www.uiparade.com/wp-content/themes/artiste/live-tools/ribbon-builder.html">Ribbon-Builder</a></p>
CSS
body {margin: 100px;}
.ribbon {
width: 200px;
position: absolute;
text-align: center;
font-size: 20px!important;
background: #025702;
background: -webkit-gradient(linear, left top, left bottom, from(#025702), to(#003300));
background: -webkit-linear-gradient(top, #025702, #003300);
background: -moz-linear-gradient(top, #025702, #003300);
background: -ms-linear-gradient(top, #025702, #003300);
background: -o-linear-gradient(top, #025702, #003300);
background-image: -ms-linear-gradient(top, #025702 0%, #003300 100%);
-webkit-box-shadow: rgba(000,000,000,0.3) 0 1px 1px;
-moz-box-shadow: rgba(000,000,000,0.3) 0 1px 1px;
box-shadow: rgba(000,000,000,0.3) 0 1px 1px;
font-family: 'Helvetica Neue',Helvetica, sans-serif;
}
.ribbon h1 {
font-size: 25px!important;
color: #99cc33;
text-shadow: #99cc33 0 1px 0;
margin:0px;
padding: 15px 10px;
}
.ribbon:before, .ribbon:after {
content: '';
position: absolute;
display: block;
bottom: -1em;
border: 1.5em solid #003300;
z-index: -1;
}
.ribbon:before {
left: -2em;
border-right-width: 1.5em;
border-left-color: transparent;
-webkit-box-shadow: rgba(000,000,000,0.4) 1px 1px 1px;
-moz-box-shadow: rgba(000,000,000,0.4) 1px 1px 1px;
box-shadow: rgba(000,000,000,0.4) 1px 1px 1px;
}
.ribbon:after {
right: -2em;
border-left-width: 1.5em;
border-right-color: transparent;
-webkit-box-shadow: rgba(000,000,000,0.4) -1px 1px 1px;
-moz-box-shadow: rgba(000,000,000,0.4) -1px 1px 1px;
box-shadow: rgba(000,000,000,0.4) -1px 1px 1px;
}
.ribbon .ribbon-content:before, .ribbon .ribbon-content:after {
border-color: #002400 transparent transparent transparent;
position: absolute;
display: block;
border-style: solid;
bottom: -1em;
content: '';
}
.ribbon .ribbon-content:before {
left: 0;
border-width: 1em 0 0 1em;
}
.ribbon .ribbon-content:after {
right: 0;
border-width: 1em 1em 0 0;
...