Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <div class="parent">
  <div class="child-container">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum blandit tellus a maximus. Morbi a congue purus. Nullam tortor leo, luctus vitae efficitur quis, ultricies nec dolor. Vivamus ac libero urna. Ut hendrerit porta maximus. Duis pharetra lacinia tincidunt. Aliquam fringilla accumsan nulla, non sollicitudin mauris imperdiet eget. Morbi in nisi at sapien laoreet blandit et rhoncus velit. Nullam placerat facilisis condimentum. Proin viverra, urna ac blandit eleifend, sapien neque vestibulum dolor, sit amet faucibus justo ex eu urna. Sed non enim vitae ante molestie sagittis vitae nec ante. Nam ut leo orci. Vivamus ultrices massa vitae nisl maximus, sed sollicitudin purus mattis. Sed vestibulum neque lectus, at finibus justo iaculis id.</p>
    
    <p>Fusce posuere arcu ut urna tempus, scelerisque pulvinar massa dignissim. Cras viverra facilisis eleifend. Mauris ut porta lacus. Morbi sit amet rutrum turpis. Mauris ac vehicula mauris. Maecenas maximus ac ligula eu ultricies. Sed tincidunt sodales luctus. Vivamus in porttitor lacus. Vivamus vestibulum, velit eget convallis placerat, urna lectus semper tortor, sit amet fermentum enim risus rhoncus nisi. Duis elementum molestie eros, nec convallis ipsum hendrerit et. Cras maximus urna eget felis accumsan rhoncus. Vivamus a commodo elit. Donec egestas viverra augue vitae sagittis. Curabitur lorem orci, vestibulum a tincidunt commodo, hendrerit in diam. Donec eget turpis vestibulum, sollicitudin leo id, viverra massa. Nunc euismod sed diam sed commodo.</p>
    
    <p>Praesent rutrum lorem in magna faucibus interdum. Praesent rhoncus, lacus vulputate sagittis dignissim, tortor leo vestibulum felis, a interdum nulla sapien a justo. Nulla facilisi. Donec a sodales lorem. Nunc non erat placerat, semper diam ac, eleifend nunc. Fusce malesuada volutpat velit quis iaculis. Maecenas sollicitudin pharetra elit at porttitor. Nullam tempor nisi libero, vel aliquam augue vestibulum in. Suspendisse lacinia eros feugiat enim ultricies, at fringilla mauris scelerisque. Maecenas gravida rutrum leo. Cras non dui eu sem convallis semper. Mauris volutpat malesuada arcu, sed vehicula eros mattis ut. Vivamus quis urna nisl.</p>
    
    <p>Integer mollis tellus justo, interdum suscipit purus congue at. Integer lacinia mauris id turpis scelerisque hendrerit. Vestibulum at metus nec ex suscipit consequat. Cras est nisl, auctor sed cursus ut, bibendum in nunc. Aenean quis lorem id libero molestie viverra sit amet id felis. Fusce semper fermentum congue. Suspendisse potenti. Donec ultricies dictum diam, nec luctus tortor laoreet ut. Sed ut imperdiet augue, ac semper sapien. Fusce malesuada pharetra mi nec bibendum. Proin consequat magna leo, vitae aliquet orci tincidunt sed. Mauris fringilla egestas lorem a efficitur. Duis quis ultrices libero. Nulla ac iaculis lorem.</p>
    
    <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin at rhoncus nisl. Quisque ac purus at ante ornare sollicitudin. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent facilisis, nunc ut vestibulum eleifend, arcu urna rhoncus lorem, nec iaculis orci odio nec dolor. Fusce ac interdum dui. Quisque ut ipsum id enim maximus egestas vitae vel nisl. Nullam efficitur dui nec tempor pretium. Aenean a urna eu magna tempus pellentesque. Curabitur vel tincidunt velit.</p>
    
    <p>Mauris erat tortor, suscipit sed egestas et, ullamcorper ut orci. Donec semper rhoncus massa a lobortis. Suspendisse eget pretium libero, porta convallis eros. Aenean at neque id dui fringilla tempor. Curabitur luctus magna id metus laoreet tincidunt. Mauris rhoncus porta ultricies. Sed id vestibulum felis. Integer lacinia consectetur tristique. Nullam dignissim congue mollis. Ut justo leo, ultrices quis odio eu, cursus consectetur ipsum.</p>
    
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer leo massa, feugiat sed faucibus quis, tincidunt finibus mauris. Ut eget tempor enim, a pulvinar erat. Nulla dapibus, orci sit amet commodo ornare, lectus diam tempor massa, non laoreet ligula mi et tellus. Proin enim leo, lacinia a pretium id, semper fermentum leo. Praesent molestie suscipit lacus et convallis. Sed sollicitudin tincidunt dapibus. Curabitur a gravida mauris. Quisque faucibus felis id mi venenatis pellentesque. Interdum et malesuada fames ac ante ipsum primis in faucibus. Curabitur iaculis risus velit, a tincidunt est commodo a.</p>
    
    <p>Donec vitae tempus quam. Morbi tortor ligula, commodo sed tortor sed, semper tempus eros. Integer id dui vel est elementum elementum eget a sem. Cras nec purus in est aliquam tincidunt quis ut sapien. Phasellus diam purus, pharetra eu consectetur vitae, aliquam non risus. Praesent auctor iaculis sapien vitae sodales. Vestibulum vitae turpis vestibulum, sagittis diam ut, efficitur ligula. Aenean sagittis justo elit, sit amet egestas ante malesuada ac. In hac habitasse platea dictumst. Curabitur ultrices et purus et fermentum. Aenean posuere sapien eget dolor ultrices, a porta mi consequat. Vestibulum fermentum tellus in ipsum scelerisque, lacinia maximus sapien commodo. Praesent maximus consequat hendrerit. Nam finibus, libero maximus rhoncus vulputate, metus est bibendum augue, nec rutrum urna erat nec diam. Duis a leo accumsan, porta massa convallis, pellentesque nisl. Donec non facilisis lacus, nec iaculis ipsum.</p>
    
    <p>Mauris tincidunt sapien enim, ut feugiat dolor volutpat ac. Pellentesque ut justo pellentesque eros vestibulum vestibulum et quis turpis. Aliquam elementum orci lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla ullamcorper risus sed erat sagittis, sit amet pretium nunc semper. Donec ut lectus hendrerit tortor aliquet interdum. Phasellus tempor mi diam, a lacinia felis egestas a. In id sem tellus. Nulla blandit elit in dolor cursus, eget rutrum ipsum suscipit.</p>
    
    <p>Fusce non iaculis dolor. Vivamus a nisi enim. Maecenas tristique eleifend dui, ut sagittis ante ultrices sed. Cras non blandit metus. Sed in lorem odio. Sed ullamcorper ligula et urna lobortis, sit amet suscipit eros consectetur. Phasellus laoreet viverra ante ac auctor.</p>
  </div>
</div>
              
            
!

CSS

              
                html,body{
  margin:0;
  padding:0;
}

.parent{
  width:600px;
  border:solid 1px black;
  height:500px;
  overflow:hidden;
}

.child-container{
  background:#333;
  color:white;
  padding:5px;
}
              
            
!

JS

              
                function scroller(){
  TweenLite.to(".parent", 2,{
    scrollTo:{y:"max"},
    onComplete:backToStart
  });
};

function delayedStart(){
  TweenLite.delayedCall(1, scroller);
};

function backToStart(){
  TweenLite.to(".parent", 2, {
    scrollTo:{y:0},
    delay:1,
    onComplete:delayedStart
  });
};

scroller();
              
            
!
999px

Console