<!DOCTYPE html>
<html>
  <head>
    <title>CSS Test (Transforms): Input (type=search)</title>
    <link rel="author" title="Aryeh Gregor" href="mailto:ayg@aryeh.name">
    <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property">
    <link rel="reviewer" title="Apple Inc." href="http://www.apple.com">
    <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-003-ref.html">
    <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=search</p>
    <input value="abc" type="search">
    <input value="abc" type="search">
    <input value="abc" type="search">
    <input value="abc" type="search">
    <input value="abc" type="search">
  </body>
</html>
