<!DOCTYPE html>

<html>
<head>
  <style>
    .box {
      display: inline-block;
      height: 120px;
      width: 200px;
      margin: 10px;
      border: 1px solid black;
      background-repeat: no-repeat;
    }

    .gradient1 {
      background-image: radial-gradient(ellipse closest-corner, white, black);
    }

    .gradient2 {
      background-image: radial-gradient(circle closest-side at 50px 50%, white, black);
    }
    
    .gradient3 {
      background-image: radial-gradient(ellipse closest-corner at 20px 50px, white, black);
    }

    .gradient4 {
      background-image: radial-gradient(circle closest-corner at 20% 20%, white, black);
    }

    .gradient5 {
      background-image: radial-gradient(circle farthest-corner, red, green, blue);
    }

    .gradient6 {
      background-image: radial-gradient(circle farthest-corner at left, red, green 30%, blue 100%);
    }

    .gradient7 {
      background-image: radial-gradient(ellipse farthest-corner, red, green 80px, blue);
    }

    .gradient8 {
      background-image: radial-gradient(circle farthest-corner, red 20%, green, blue 150%);
    }

    .gradient9 {
      background-image: radial-gradient(circle closest-corner at 20% 20%, red -50%, green, blue 150%);
    }

    .gradient10 {
      background-image: radial-gradient(ellipse farthest-corner, red, 10%, green 80px, 90%, blue);
    }

    .gradient11 {
      background-image: radial-gradient(circle farthest-corner, red 20%, 25%, green 50%, 60%, blue 150%);
    }

    .gradient12 {
      background-image: radial-gradient(circle closest-corner at 20% 20%, red -50%, 10%, green 50%, 60%, blue 150%);
    }

    .gradient13 {
      background-image: radial-gradient(ellipse farthest-corner, red, 50%, green 80px, 50%, blue);
    }

    .gradient14 {
      background-image: radial-gradient(circle farthest-corner, red 20%, 20%, green 50%, 150%, blue 150%);
    }

    .gradient15 {
      background-image: radial-gradient(circle closest-corner at 20% 20%, red 50%, 10%, green 50%, 50%, blue 150%);
    }

  </style>
  <script>
    if (window.testRunner) {
      var dumpPixels = true;
      testRunner.dumpAsText(dumpPixels);
    }
  </script>
</head>
<body>

  <div class="gradient1 box"></div>
  <div class="gradient2 box"></div>
  <div class="gradient3 box"></div>
  <br>
  <div class="gradient4 box"></div>
  <div class="gradient5 box"></div>
  <div class="gradient6 box"></div>
  <br>
  <div class="gradient7 box"></div>
  <div class="gradient8 box"></div>
  <div class="gradient9 box"></div>
  <br>
  <div class="gradient10 box"></div>
  <div class="gradient11 box"></div>
  <div class="gradient12 box"></div>
  <br>
  <div class="gradient13 box"></div>
  <div class="gradient14 box"></div>
  <div class="gradient15 box"></div>

</body>
</html>
