Ribbon CSS

by elizabethkmathew

HTML

<p class="ribbon">
  CSS Ribbon
  <span class="left-tail"></span>
  <span class="right-tail"></span>
</p>

CSS

.ribbon {
  background-color: #237dac;
  width: 250px;
  height: 50px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  margin: 60px auto;
  position: relative;
}

.ribbon:before,
.ribbon:after,
.left-tail:before,
.right-tail:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
}

.ribbon:before,
.ribbon:after {
  border-top: 15px solid #0a5780;
  bottom: -15px;
  z-index: -1;
}

.ribbon:before {
  border-left: 15px solid transparent;
  left: 0px;
}

.ribbon:after {
  border-right: 15px solid transparent;
  right: 0px;
}

.ribbon span {
  width: 70px;
  height: 50px;
  background-color: #0c80bb;
  position: absolute;
  z-index: -4;
  top: 15px;
}

.left-tail {
  left: -55px;
}

.right-tail {
  right: -55px;
}

.left-tail:before,
.right-tail:before {
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
}

.left-tail:before {
  left: 0;
  border-left: 25px solid #fff;
}

.right-tail:before {
  border-right: 25px solid #fff;
  right: 0;
}