Angled Edges with CSS Transforms

by Chris Ames

HTML

<div class="quote">
  <h1>Angled Edges</h1>
  <p>With 2 Pseudo Elements</p>
</div>

CSS

.quote {
  background: #41ade5;
  position: relative;
  z-index: 1;
}
.quote:before, .quote:after {
  background: inherit;
  content: '';
  display: block;
  height: 50%;
  position: absolute;
  z-index: -1;
}
.quote:before {
  bottom: 0;
  right:0;
  left:50%;
  -webkit-transform: skewY(-10.5deg);
      -ms-transform: skewY(-10.5deg);
          transform: skewY(-10.5deg);
  -webkit-transform-origin: 50% 0;
      -ms-transform-origin: 50% 0;
          transform-origin: 50% 0;
}
.quote:after {
  bottom: 0;
  right:50%;
  left:0;
  -webkit-transform: skewY(10.5deg);
      -ms-transform: skewY(10.5deg);
          transform: skewY(10.5deg);
  -webkit-transform-origin: 50%;
      -ms-transform-origin: 50%;
          transform-origin: 50%;
}

.quote {
  color: #fff;
  font-family: 'Fira Sans', sans-serif;
  margin: 50px 0;
  padding: 20% 20px;
  text-align: center;
}

h1 {
  font-size: 32px;
  font-weight: 500;
}

p {
  font-size: 14px;
  font-weight: 300;
  margin-top: 0.5em;
}