<svg class="overlay text" viewBox="0 0 900 400">
    <symbol id="main">
      <text text-anchor="middle" x="50%" y="50%" dy="0.25em" class="txt">404</text>
      <text text-anchor="middle" x="50%" y="90%" dy="0.25em" class="txt2">Not Found</text>
    </symbol>
    <mask id="msk" maskunits="userSpaceOnUse" maskcontentunits="userSpaceOnUse">
      <rect width="100%" height="100%" class="wrap">
      </rect>
      <use xlink:href="#main" class="mtxt"></use>
    </mask>
  </svg>
      <section>
        <h1 href="#">
          <div class="fill">
<canvas id="canv" width = "460" height = "360" style=background: hsla(0, 0%, 0%, 1);>
</canvas>
          </div>
          <svg viewBox="0 0 100% 100%" class="inv">
            <rect width="100%" height="100%" mask="url(#msk)" 
      class="rect" />
            <use xlink:href="#main" class="clear"></use>
          </svg>
        </h1>
      </section>
@import url(https://fonts.googleapis.com/css?family=Black+Ops+One);

* { box-sizing: border-box; }

html, body {
  background: hsla(0, 0%, 90%, 1);
  width:100%; 
  min-height:100%;
  font-weight: bold;
  font-size: 1em;
  display:flex;
  justify-content:center;
  flex-direction:column;
  font-family: 'Black Ops One', cursive;
  user-select:none;
}
canvas{
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate( -50%, -50%);
}
.text .wrap {
  fill: #FFF;
}

.overlay {
  height: 0;
  width: 0;
  overflow: hidden;
  position: absolute;
  & .txt {
    font-size: 14rem;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing:-.5rem;
    text-shadow: 0 -3px 0 hsla(0, 0%, 5%, 1),
    0 6px 8px  hsla(0, 0%, 5%, .55),
    0 9px 10px  hsla(0, 0%, 5%, .25);
  }
  & .txt2{
     font-size:4rem;
  }
}
section{
  align-self:center;
}
h1{
  position: relative;
  font-size: 8em;
  font-weight:bold;
  line-height: 1;
  display: inline-block;
  width: 900px;
  height: 400px;
  & .fill {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  & .inv {
    position: absolute;
    width: 900px;
    height: 400px;
    top: 0;
    left: 0;
  }
  & .rect {
    fill:hsla(0, 0%, 90%, 1);
  }
  & .clear {
    fill:transparent;
  }
}
View Compiled
c = document.getElementById("canv");
$ = c.getContext("2d");
w = c.width;
h = c.height;
id = $.createImageData(w, h);

function draw() {
  window.requestAnimationFrame(draw);
    var r;
    for (var p = 4 * (w * h - 1); p >= 0; p -= 4) {
        r = Math.random();
        id.data[p] = id.data[p+1] = id.data[p+2] = 255 * Math.pow(r, 1.6);
        id.data[p+3] = 255;
    }
    $.putImageData(id, 0, 0);
}

draw();
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.