<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
  <style>
    body {
      margin: 40px 0 0 0;
      padding: 0;
    }
    header,
    footer {
      position: absolute;
      left: 0;
      right: 0;
      background: black;
      color: white;
      height: 20px;
      padding: 10px;
    }
    header { top: 0 }
    footer { bottom: 0 }
    section {
      position: absolute;
      top: 40px;
      bottom: 40px;
      left: 0;
      right: 0;
      overflow: hidden;
    }
  </style>
  <script>
    var pinching = false;
    var d0 = 1;
    var d1 = 1;
    document.addEventListener("touchmove", function(e){
      if (e.touches.length == 2) {
        if (!pinching) {
          pinching = true;
          d0 = Math.sqrt(
            Math.pow(e.touches[1].screenX - e.touches[0].screenX, 2) +
            Math.pow(e.touches[1].screenY - e.touches[0].screenY, 2)
          );
        } else {
          d1 = Math.sqrt(
            Math.pow(e.touches[1].screenX - e.touches[0].screenX, 2) +
            Math.pow(e.touches[1].screenY - e.touches[0].screenY, 2)
          );
          document.querySelector("section").style.zoom = d1 / d0;
        }
      }
    });
    document.addEventListener("touchend", function(e){
      pinching = false;
    });
  </script>
</head>

<body>
  <header id="a">HEADER</header>
  <section id="b">
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
    <p>Hello world!</p>
  </section>
  <footer id="c">FOOTER</footer>
</body>

</html>