<!DOCTYPE html>
<html>
  <head>
    <title>CSS Test (Transforms): Input (type=checkbox)</title>
    <link rel="author" title="Aryeh Gregor" href="mailto:ayg@aryeh.name">
    <link rel="reviewer" title="Apple Inc." href="http://www.apple.com">
    <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property">
    <meta name="assert" content='The input element is an atomic inline element,
    so it falls under the definition of transformable and should be affected by
    transformations as usual.  This is one in a series of tests that verify
    that a few simple transforms have the expected effect on various types of
    inputs.  (They only test a few very specific transforms because it would be
    difficult to construct a correct reference file for more complex
    transforms.)'>
    <link rel="match" href="transform-input-017-ref.html">
    <meta name="fuzzy" content="maxDifference=0-48;totalPixels=0-16">
    <style>
      input {
        /* Margin to avoid overlap of translated inputs */
        margin: 10px;
      }
      p + input {
        transform: rotate(360deg);
      }
      p + input + input {
        transform: translateX(-10px);
      }
      p + input + input + input {
        transform: translateX(10px);
      }
      p + input + input + input + input {
        transform: translateY(-10px);
      }
      p + input + input + input + input + input {
        transform: translateY(10px);
      }
    </style>
  </head>
  <body>
    <p>type=checkbox</p>
    <input type="checkbox" checked>
    <input type="checkbox">
    <input type="checkbox" checked>
    <input type="checkbox">
    <input type="checkbox" checked>
  </body>
</html>
