<!DOCTYPE html>

<html>
<head>
  <style type="text/css" media="screen">
    .box {
      display: inline-block;
      height: 120px;
      width: 200px;
      margin: 10px;
      border: 1px solid black;
      background-repeat: no-repeat;
    }

    .linear1 {
      background-image: -webkit-repeating-linear-gradient(white, black 20%);
      background-image: -moz-repeating-linear-gradient(white, black 20%);
    }
    
    .linear2 {
      background-image: -webkit-repeating-linear-gradient(white 80%, black);
      background-image: -moz-repeating-linear-gradient(white 80%, black);
    }

    .linear3 {
      background-image: -webkit-repeating-linear-gradient(top left, red, blue 20px, red 40px);
      background-image: -moz-repeating-linear-gradient(top left, red, blue 20px, red 40px);
    }

    .linear4 {
      background-image: -webkit-repeating-linear-gradient(left, red 10%, blue 30%);
      background-image: -moz-repeating-linear-gradient(left, red 10%, blue 30%);
    }

    .linear5 {
      background-image: -webkit-repeating-linear-gradient(left, red -10%, blue -5%);
      background-image: -moz-repeating-linear-gradient(left, red -10%, blue -5%);
    }

    .linear6 {
      background-image: -webkit-repeating-linear-gradient(left, red -10%, blue 105%);
      background-image: -moz-repeating-linear-gradient(left, red -10%, blue 105%);
    }

    .linear7 {
      background-image: -webkit-repeating-linear-gradient(left, red 90%, blue 105%);
      background-image: -moz-repeating-linear-gradient(left, red 90%, blue 105%);
    }

    .linear8 {
      background-image: -webkit-repeating-linear-gradient(left, red 2em, blue 3em);
      background-image: -moz-repeating-linear-gradient(left, red 2em, blue 3em);
    }

    .linear9 {
      background-image: -webkit-repeating-linear-gradient(left, red, orange, yellow, green, blue, red 60px);
      background-image: -moz-repeating-linear-gradient(left, red, orange, yellow, green, blue, red 60px);
    }

  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
      var dumpPixels = true;
      testRunner.dumpAsText(dumpPixels);
    }
  </script>
</head>
<body>

  <div class="linear1 box"></div>
  <div class="linear2 box"></div>
  <div class="linear3 box"></div>
  <br>
  <div class="linear4 box"></div>
  <div class="linear5 box"></div>
  <div class="linear6 box"></div>
  <br>
  <div class="linear7 box"></div>
  <div class="linear8 box"></div>
  <div class="linear9 box"></div>

</body>
</html>
