CodePen

HTML

            
              <script src="http://www.polymer-project.org/platform.js"></script>
<link rel="import" href="http://www.polymer-project.org/components/polymer/polymer.html">

<polymer-element name="img-slider" noscript>
  <template>
    <style>
      * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
      }
      
      #slider {
        max-width: 600px;
        text-align: center;
        margin: 0 auto;
      }
      
      #overflow {
        width: 100%;
        overflow: hidden;
      }
      
      #slides .inner {
        width: 400%;
      }
      
      #slides .inner {
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -o-transform: translateZ(0);
        -ms-transform: translateZ(0);
        transform: translateZ(0);
      
        -webkit-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
        -moz-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
        -o-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
        -ms-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
        transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
      
        -webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
        -moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
        -o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
        -ms-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
        transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
      }
      
      #slides ::content img {
        width: 25%;
        float: left;
      }
      
      #slide1:checked ~ #slides .inner {
        margin-left: 0;
      }
      
      #slide2:checked ~ #slides .inner {
        margin-left: -100%;
      }
      
      #slide3:checked ~ #slides .inner {
        margin-left: -200%;
      }
      
      #slide4:checked ~ #slides .inner {
        margin-left: -300%;
      }
      
      input[type="radio"] {
        display: none;
      }
      
      label {
        background: #CCC;
        display: inline-block;
        cursor: pointer;
        width: 10px;
        height: 10px;
        border-radius: 5px;
      }
      
      #slide1:checked ~ label[for="slide1"],
      #slide2:checked ~ label[for="slide2"],
      #slide3:checked ~ label[for="slide3"],
      #slide4:checked ~ label[for="slide4"] {
        background: #333;
      }
    </style>
    <div id="slider">
      <input checked="" type="radio" name="slider" id="slide1" selected="false">
      <input type="radio" name="slider" id="slide2" selected="false">
      <input type="radio" name="slider" id="slide3" selected="false">
      <input type="radio" name="slider" id="slide4" selected="false">
      <div id="slides">
        <div id="overflow">
          <div class="inner">
            <content select="img"></content>
          </div> <!-- .inner -->
        </div> <!-- #overflow -->
      </div>
      <label for="slide1"></label>
      <label for="slide2"></label>
      <label for="slide3"></label>
      <label for="slide4"></label>
    </div>
  </template>
</polymer-element>

<img-slider>
  <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/5689/rock.jpg"><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/5689/grooves.jpg">
  <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/5689/arch.jpg">
  <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/5689/sunset.jpg">
</img-slider>
            
          
!

CSS

            
              
            
          
!
? ?
? ?
Must be a valid URL.
+ add another resource
via CSS Lint

JS

            
              
            
          
!
Must be a valid URL.
+ add another resource
via JS Hint
Loading ..................