<h1 contenteditable>Single Element - Pure CSS3 - Type here...</h1>

<!-- PrefixFree to deal with vendor prefixes -->
<script src="http://thecodeplayer.com/uploads/js/prefixfree-1.0.7.js" type="text/javascript"></script>
* {margin: 0; padding: 0;}

html, body {height: 100%;}

body {
  background: #b1e3e2;
  box-shadow: inset 0 0 100px 20px #80d0cf;
  text-align: center;
}

h1 {
  display: inline-block;
  font-size: 14px;
  line-height: 28px;
  color: #8699a0;
  text-shadow: 0 0 1px #758890;
  margin: 120px 0;
  font-family: arial, verdana;
  outline: none;
  padding: 14px 30px;
  position: relative;
  text-transform: uppercase;
  box-shadow:
    0 0 30px 0 rgba(0, 0, 0, 0.1),
    0 36px 0 -18px #b1e3e2;
}

/*the ribbon ends*/
h1:before {
  content: "";
  position: absolute;
  top: 18px;
  left: -15%;
  z-index: -1;
  width: 130%;
  /*Using the triangle logic - 2-sided borders and 0 height. That will create negative triangles on the left and right.*/
  height: 0;
  border: 28px solid rgba(0, 0, 0, 0);
  border-left: 28px solid #b1e3e2;
  border-right: 28px solid #b1e3e2;
}

h1:after {
  content:"";
  width: 100%;
  height: 0;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: -1;
  border-top: 18px solid #99acb2;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
}

h1, h1:before {
  background-image:
    /*2 gray borders*/
    linear-gradient(
      transparent 8%,
      rgba(0, 0, 0, 0.1) 8%,
      rgba(0, 0, 0, 0.1) 14%,
      transparent 14%,
      transparent 86%,
      rgba(0, 0, 0, 0.1) 86%,
      rgba(0, 0, 0, 0.1) 92%,
      transparent 92%
    ),
    /*white gloss gradient*/
    linear-gradient(
      rgba(255, 255, 255, 0.75),
      rgba(255, 255, 255, 0)
    ),
    /*thin stripes*/
    linear-gradient(
      45deg,
      transparent 40%,
      rgba(0, 0, 0, 0.1) 40%,
      rgba(0, 0, 0, 0.1) 60%,
      transparent 60%
      ),
    /*white base*/
    linear-gradient(white, white);
  background-size:
    cover, /*borders*/
    cover, /*white gloss*/
    4px 4px, /*thin stripes*/
    cover; /*base white*/
}

h1, h1:before, h1:after {
  box-sizing: border-box;
  /*fix to make the borders appear on the ribbon ends as well*/
  background-origin: border-box;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.