title: CSS/HTML Modal- Using the Escape key/Click outside to close
body: <p>I have the following modal working,</p>
  
  <p><a href="http://jsfiddle.net/kumarmuthaliar/GG9Sa/1/" rel="noreferrer">http://jsfiddle.net/kumarmuthaliar/GG9Sa/1/</a></p>
  
  <p>on my site. It's exactly what I want in terms of ease of use, and function. The only issue I have is how to make the modal close when the user either A) Clicks outside the modal window, or B) Hits the Escape key.</p>
  
  <p>Any suggestions? </p>
  
  <pre><code>    &lt;a href="#openModal"&gt;Open Modal&lt;/a&gt;
  
      &lt;div id="openModal" class="modalDialog"&gt;
          &lt;div&gt;   &lt;a href="#close" title="Close" class="close"&gt;X&lt;/a&gt;
  
                  &lt;h2&gt;Modal Box&lt;/h2&gt;
  
              &lt;p&gt;This is a sample modal box that can be created using the powers of CSS3.&lt;/p&gt;
              &lt;p&gt;You could do a lot of things here like have a pop-up ad that shows when your website loads, or create a login/register form for users.&lt;/p&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  
  .modalDialog {
      position: fixed;
      font-family: Arial, Helvetica, sans-serif;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.8);
      z-index: 99999;
      opacity:0;
      -webkit-transition: opacity 400ms ease-in;
      -moz-transition: opacity 400ms ease-in;
      transition: opacity 400ms ease-in;
      pointer-events: none;
  }
  .modalDialog:target {
      opacity:1;
      pointer-events: auto;
  }
  .modalDialog &gt; div {
      width: 400px;
      position: relative;
      margin: 10% auto;
      padding: 5px 20px 13px 20px;
      border-radius: 10px;
      background: #fff;
      background: -moz-linear-gradient(#fff, #999);
      background: -webkit-linear-gradient(#fff, #999);
      background: -o-linear-gradient(#fff, #999);
  }
  .close {
      background: #606061;
      color: #FFFFFF;
      line-height: 25px;
      position: absolute;
      right: -12px;
      text-align: center;
      top: -10px;
      width: 24px;
      text-decoration: none;
      font-weight: bold;
      -webkit-border-radius: 12px;
      -moz-border-radius: 12px;
      border-radius: 12px;
      -moz-box-shadow: 1px 1px 3px #000;
      -webkit-box-shadow: 1px 1px 3px #000;
      box-shadow: 1px 1px 3px #000;
  }
  .close:hover {
      background: #00d9ff;
  }
  </code></pre>