title: How to retain an element's hover area?
body: <p>I've been trying to create elements which will change position slightly when hovered - in this example we have a primitive attempt at a 3D button which is slightly depressed when hovered over. All works as intended, unless the top and left 3 pixels are hovered over, in which case it rapidly flickers between the two states.</p>
  
  <p>Is it possible, without creating a duplicate transparent element, to make the hover area not shift with the element and eliminate this behaviour? JavaScript and JQuery solutions are okay but pure HTML/CSS would be best.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>#button {
    width: 100px;
    height: 100px;
    background-color: #00f;
    box-shadow: 10px 10px 3px #aaa;
  }
  
  #button:hover {
    transform: translate(3px, 3px);
    box-shadow: 7px 7px 2.1px #888;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div id="button"&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p><a href="https://jsfiddle.net/tn3e4q64/" rel="noreferrer">JSFiddle link</a></p>