<html>
<head>
  <style>
    div, canvas, svg {
      width: 200px;
      height: 200px;
      margin: 10px;
      float: left;
    }

  </style>
</head>
<script>
  function runTest() {
    var c1 = document.getElementById('c1');
    var ctx = c1.getContext('2d');
    ctx.scale(2, 1);
    var grad = ctx.createLinearGradient(0, 0, 0, 150);

    grad.addColorStop(0, "green");
    grad.addColorStop(1, "transparent");

    ctx.fillStyle = grad;
    ctx.fillRect(0, 0, 200, 200);

    var c2 = document.getElementById('c2');
    ctx = c2.getContext('2d');
    ctx.scale(2, 1);
    grad = ctx.createRadialGradient(75, 75, 0, 75, 75, 125);

    grad.addColorStop(0, "green");
    grad.addColorStop(1, "transparent");

    ctx.fillStyle = grad;
    ctx.fillRect(0, 0, 200, 200);
  }
</script>
<body onload="runTest()">
  <div style="background-image: -webkit-linear-gradient(green 0%, transparent 100%);"></div>
  <div style="background-image: -webkit-repeating-linear-gradient(green 0%, transparent 5%);"></div>
  <div style="background-image: -webkit-radial-gradient(green 0%, transparent 100%);"></div>
  <div style="background-image: -webkit-repeating-radial-gradient(green 0%, transparent 5%);"></div>
  <canvas id="c1"></canvas>
  <canvas id="c2"></canvas>

  <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <defs>
      <linearGradient id="grad1" x1="0%" y1="0%" x2="0%" y2="100%">
        <stop offset="0%" style="stop-color:green;stop-opacity:1" />
        <stop offset="100%" style="stop-color:transparent;stop-opacity:0" />
      </linearGradient>
    </defs>
    <rect width="200" height="200" fill="url(#grad1)" />
  </svg>

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <defs>
      <radialGradient id="grad2" cx="50%" cy="50%" r="80%" fx="50%" fy="50%">
        <stop offset="0%" style="stop-color:green;stop-opacity:1" />
        <stop offset="100%" style="stop-color:transparent;stop-opacity:0" />
      </radialGradient>
    </defs>
    <rect width="200" height="200" fill="url(#grad2)" />
  </svg>

</body>
</html>
