JSFiddle - React, Tailwind, and code Playground

HTML

<a id="tile" href="http://google.com" target="_blank"> Click me </a>

CSS

a {
  width: 200px;
  height: 200px;
  background-color: deepSkyBlue;
  color: #fff;
  margin: 20px;
  display: block;
    
  -webkit-transform-origin: 50% 50%;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: -webkit-transform 0.08s;
  -webkit-transform: perspective(800px);
  
  -moz-transform-origin: 50% 50%;
  -moz-transform-style: preserve-3d;
  -moz-transition: -moz-transform 0.08s;
  -moz-transform: perspective(800px);

}

JavaScript

var tile = document.getElementById('tile');

function MouseDown() {
  
  console.log( "down" );
  tile.style.webkitTransform = "perspective(800px) translateZ( -30px )";
  tile.style.MozTransform    = "perspective(800px) translateZ( -30px )";  

}

function MouseUp() {

  console.log( "up" );
  tile.style.backgroundColor = "deepPink";
  tile.style.webkitTransform = "perspective(800px) translateZ( 0px )";
  tile.style.MozTransform    = "perspective(800px) translateZ( 0px )";
    
}
tile.addEventListener('mouseup',   MouseUp,   false);  
tile.addEventListener('mousedown', MouseDown, false);