Demo pure css ribbon
body {
background: #a6a6a6;
color: #111;
font-size: 100%;
padding: 150px 50px;
}
.ribbon-start, .ribbon, .ribbon-end {
background-color: #e02c2c;
background-image: -webkit-gradient(linear, 100% 0%, 0% 100%,
from(transparent), color-stop(0.25, transparent),
color-stop(0.25, hsla(0,0%,0%,.15)), color-stop(0.50, hsla(0,0%,0%,.15)),
color-stop(0.50, transparent), color-stop(0.75, transparent),
color-stop(0.75, hsla(0,0%,0%,.15)), to(hsla(0,0%,0%,.15)));
background-image: -webkit-linear-gradient(right top,
transparent 0%, transparent 25%,
hsla(0,0%,0%,.15) 25%, hsla(0,0%,0%,.15) 50%,
transparent 50%, transparent 75%,
hsla(0,0%,0%,.15) 75%, hsla(0,0%,0%,.15) 100%);
background-image:
-moz-linear-gradient(left bottom,
transparent 0%, transparent 25%,
hsla(0,0%,0%,.15) 25%, hsla(0,0%,0%,.15) 50%,
transparent 50%, transparent 75%,
hsla(0,0%,0%,.15) 75%, hsla(0,0%,0%,.15) 100%);
background-image:
-ms-linear-gradient(right bottom,
transparent 0%, transparent 25%,
hsla(0,0%,0%,.15) 25%, hsla(0,0%,0%,.15) 50%,
transparent 50%, transparent 75%,
hsla(0,0%,0%,.15) 75%, hsla(0,0%,0%,.15) 100%);
background-image:
-o-linear-gradient(right bottom,
transparent 0%, transparent 25%,
hsla(0,0%,0%,.15) 25%, hsla(0,0%,0%,.15) 50%,
transparent 50%, transparent 75%,
hsla(0,0%,0%,.15) 75%, hsla(0,0%,0%,.15) 100%);
background-image:
linear-gradient(right bottom,
transparent 0%, transparent 25%,
hsla(0,0%,0%,.15) 25%, hsla(0,0%,0%,.15) 50%,
transparent 50%, transparent 75%,
hsla(0,0%,0%,.15) 75%, hsla(0,0%,0%,.15) 100%);
-webkit-background-size: 3px 3px;
-moz-background-size: 3px 3px;
-ms-background-size: 3px 3px;
-o-background-size: 3px 3px;
background-size: 3px 3px;
}
.ribbon-start, .ribbon, .ribbon-end {
height: 50px;
float: left;
position: relative;
width: 75px;
}
.ribbon-start, .ribbon-end {
overflow: hidden;
}
.ribbon-start {
-webkit-box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
17px 1px 2px hsla(0,0%,0%,.4);
-moz-box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
17px 1px 2px hsla(0,0%,0%,.4);
box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
17px 1px 2px hsla(0,0%,0%,.25);
}
.ribbon-end {
-webkit-box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
-17px 1px 2px hsla(0,0%,0%,.4);
-moz-box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
-17px 1px 2px hsla(0,0%,0%,.4);
box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
-17px 1px 2px hsla(0,0%,0%,.25);
}
.ribbon {
margin: 0 -20px;
top: -10px;
width: 400px;
z-index: 10;
-webkit-box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
0 2px 5px hsla(0,0%,0%,.4);
-moz-box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
0 2px 5px hsla(0,0%,0%,.4);
box-shadow: inset 0 -25px 25px hsla(0,0%,0%,.2),
inset 0 0 0 2px hsla(0,0%,100%,.25),
inset 0 0 0 1px hsla(0,0%,0%,.75),
0 2px 5px hsla(0,0%,0%,.25);
}
.ribbon:after, .ribbon:before {
border-top: 5px solid hsla(0,0%,0%,.5);
bottom: -5px;
content: '';
height: 0;
position: absolute;
width: 0;
}
.ribbon:after {
border-left: 10px solid transparent;
left: 0;
}
.ribbon:before {
border-right: 10px solid transparent;
right: 0;
}
.ribbon-start:after, .ribbon-start:before, .ribbon-end:after, .ribbon-end:before {
content: '';
height: 50px;
position: absolute;
top: 0;
width: 50px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.ribbon-start:after, .ribbon-end:after {
background: #a6a6a6;
}
.ribbon-start:after {
left: -20px;
}
.ribbon-end:after {
right: -20px;
}
.ribbon-start:before, .ribbon-end:before {
background: hsla(0,0%,0%,.5);
}
.ribbon-start:before {
left: -19px;
}
.ribbon-end:before {
right: -19px;
}
.ribbon ul, .ribbon li {
list-style: none;
margin: 0;
padding: 0;
}
.ribbon a {
color: #f6f6f6;
display: block;
float: left;
font: 1em/48px georgia, serif;
text-align: center;
text-decoration: none;
text-shadow: 0 1px 1px hsla(0,0%,0%,.25);
width: 100px;
}
.ribbon a:hover, .ribbon a:focus {
text-shadow: 0 1px 1px hsla(0,0%,0%,.25),
0 0 5px hsla(0,0%,100%,.5);
}
.ribbon a:active {
position: relative;
top: 1px;
}
.content {
background: #f6f6f6;
margin: -50px 65px;
padding: 100px 20px 20px;
position: relative;
width: 340px;
z-index: 5;
-webkit-box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.5),
inset 0 0 50px hsla(0,0%,0%,.2),
0 2px 5px hsla(0,0%,0%,.25);
-moz-box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.5),
inset 0 0 50px hsla(0,0%,0%,.2),
0 2px 5px hsla(0,0%,0%,.25);
box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.5),
inset 0 0 50px hsla(0,0%,0%,.2),
0 2px 5px hsla(0,0%,0%,.25);
}