Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ 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

Save Automatically?

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

              
                <section id="one" class="section">
  <div class="container one">
    <header>
      <h1 class="s-heading">First Section Heading</h1>
    </header>
    <article>
      <p>Vegan yr tacos everyday carry, street art banjo cardigan four dollar toast franzen poutine wolf celiac portland keytar lo-fi. Williamsburg locavore blue bottle man bun XOXO, helvetica edison bulb.</p>
    </article>
  </div>
  <!-- .container -->
</section>
<!-- .section -->

<section id="two">
  <div class="container two">
    <header>
      <h1 class="s-heading">Second Section Heading</h1>
    </header>
    <article>
      <p>Lo-fi la croix kogi waistcoat, tousled migas yuccie selvage XOXO tote bag organic man braid umami seitan pug.  Raw denim master cleanse tacos, fap jean shorts prism tumblr authentic salvia vinyl gastropub.  Organic green juice retro chicharrones, farm-to-table ramps single-origin coffee man bun keffiyeh kickstarter lyft.  Cliche biodiesel direct trade, semiotics lumbersexual knausgaard cronut cold-pressed fanny pack yr live-edge skateboard.  Gochujang brooklyn retro, vice asymmetrical echo park pour-over.  Brooklyn gochujang trust fund hammock.  Ugh af chia, fashion axe pop-up health goth offal keytar snackwave affogato literally edison bulb paleo polaroid williamsburg.</p>
    </article>
  </div>
  <!-- .container -->
</section>
<!-- .section -->


<section id="three">
  <div class="container three">
    <header>
      <h1 class="s-heading">Third Section Heading</h1>
    </header>
    <article>
      <p>Quinoa swag four dollar toast, freegan irony authentic keffiyeh vape art party subway tile hammock ramps. Pitchfork meditation fashion axe, ethical tofu mixtape tacos fap quinoa ugh pork belly retro. Poutine drinking vinegar activated charcoal,
        tumeric occupy af cardigan ramps subway tile +1 cold-pressed authentic shabby chic.</p>
    </article>
  </div>
  <!-- .container -->
</section>
<!-- .section -->

<section id="four">
 <img src="https://c1.staticflickr.com/2/1690/24482853472_282101f633_k.jpg" class="article-bg">
  <div class="container four">
    <header>
      <h1 class="s-heading">Fourth Section Heading</h1>
    </header>
    <article>
      <p>Small batch butcher hot chicken, literally gochujang cray organic copper mug venmo disrupt subway tile bushwick lyft. </p>
    </article>
  </div>
  <!-- .container -->
</section>
<!-- .section -->
              
            
!

CSS

              
                @import url(https://fonts.googleapis.com/css?family=Roboto:300,700);

$blue: #6da5ff;
$white: #f4f4f4;
html,
body {
  font-family: 'Roboto', sans-serif;
  height: 100%;
}

*,
*:after,
*:before {
  box-sizing: border-box;
}

h1 {
  padding: 20% 0 0 0;
  margin: 0;
  text-align: center;
  font-size: 50px;
  font-size:2.2em;
}

p {
  font-size:1.2em;
  line-height: 1.5;
  text-align: left;
  color: transparentize($white, .5);
}

section {
  color: white;
  position: relative;
  height: 100%;
  height: 100vh;
  
  &#one {
    background: $blue;
  }
  
  &#two {
    background: lighten($blue, 5);
    transition: all 1s;
    
    &.is-active {
      background: darken($blue, 5);
    }
  }
  
  &#three {
    background: lighten($blue, 10);
    transition: all 1s;
    
    &.is-active {
      background: darken($blue, 10);
    }
  }
  
    
  .container {
    position: relative;
    margin: 0 auto;
    max-width: 500px;
    opacity: 0;
    z-index: 9;
  }
}


section {
  &#four {
    background: white;
    transition: all 3s;
    position: relative;
    height: 100vh;
    width: 100vw;
    overflow-x: hidden;

    
    &#four img {
    position: absolute;
    top:0;
    left:50%;
    height:100%;
    max-width: none;
    transform: translateX(-50%);
    width: auto;

    z-index: 1;
    visibility: hidden;
    }

    
    &.is-active {

      color: darken($blue, 40);
      
      p {
        color: darken($blue, 10);
      }
    }
  }

}

              
            
!

JS

              
                (function($) {
  var ctrl = new ScrollMagic.Controller({
    globalSceneOptions: {
      triggerHook: 'onLeave'
    }
  });
  
  
  // get window height
  var wh = window.innerHeight;
  
  new ScrollMagic.Scene({
  offset: wh*0
  })
  .setClassToggle("section#one", "is-active")
  .setTween( TweenMax.to(['.container.one'], 1.5, { autoAlpha: 1, ease: Power4.easeOut }))
  .addTo(ctrl);
  
  
  new ScrollMagic.Scene({
    offset: wh*0.5
  })
  .setClassToggle("section#two", "is-active")
  .setTween( TweenMax.to(['.container.two'], 1.5, { autoAlpha: 1, ease: Power4.easeOut }))
  .addTo(ctrl);
  
  
  
  new ScrollMagic.Scene({
    offset: wh*1.75
  })
  .setClassToggle("section#three", "is-active")
  .setTween( TweenMax.to(['.container.three'], 1.5, { autoAlpha: 1, ease: Power4.easeOut }))
  .addTo(ctrl);
  
  
  
    new ScrollMagic.Scene({
    offset: wh*2.75
  })
  .setClassToggle("section#four", "is-active")
  .setTween(new TimelineMax().add([
      TweenMax.to("section#four img", 1.5, {force3D: true, ease: Linear.easeInOut, autoAlpha: 1}),
      TweenMax.fromTo(['.container.four'], 4.5, {autoAlpha:0}, {autoAlpha:1, ease: Power4.easeOut})
    ]))
  .addTo(ctrl);
 
})(jQuery);


              
            
!
999px

Console