HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
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.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
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.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
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.
Using packages here is powered by esm.sh, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ESM usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<div id="jsScene" class="scene scene_0">
<div id="jsStage" class="stage">
<div class="bodymovin-logo">
<i id="jsScn4" class="icon-logo__circle"></i>
<div id="jsScn5"></div>
</div>
<h1 class="h1">
<div id="jsScn1" class="h1 h1__1">Hyper Heroes </div>
<div id="jsScn2" class="h1 h1__2">с нами ты </div>
<div id="jsScn3" class="h1 h1__3">в игре!</div>
</h1>
</div>
</div>
<div id="jsScene1" class="scene scene_1">
<div id="jsStage1" class="stage stage1">
<svg class="icon-scn1 jsHide" xmlns="http://www.w3.org/2000/svg" width="588" height="629" fill="none" viewBox="0 0 588 629">
<g opacity=".5">
<mask id="a" fill="#fff">
<path d="M427.887 59.561l15.622-21.44L65.171 370.824 427.887 59.561zM323.055 206.524l14.868-20.927 14.814-20.886-29.682 41.813zm-30.113 42.129l15.137-21.123 14.976-21.006-30.113 42.129zm-30.974 42.749l15.621-21.471 15.353-21.278-30.974 42.749zM412.534 80.814l15.353-21.253L65.171 370.824l347.363-290.01zm-89.479 125.71l29.682-41.813 14.815-20.883-44.497 62.696zm-61.087 84.878l30.974-42.749 30.113-42.129-61.087 84.878zm135.428-189.485l15.138-21.103-347.363 290.01 332.225-268.907zM261.968 291.402l61.087-84.878 44.497-62.696-105.584 147.574zM382.42 122.909l14.976-20.992L65.171 370.824 382.42 122.909zM261.968 291.402l105.584-147.574 14.868-20.919-120.452 168.493zm-145.96 229.799l-15.775 21.562 322.983-251.949-307.208 230.387zm145.96-229.799L382.42 122.909 65.171 370.824l196.797-79.422zM131.783 499.638l-15.775 21.563 307.208-230.387-291.433 208.824zm130.185-208.236L65.171 370.824l161.248-.587 35.549-78.835zM147.557 478.074l-15.774 21.564 291.433-208.824-275.659 187.26zm275.659-187.26l-161.248.588-35.549 78.835 196.797-79.423zM163.33 456.509l-15.773 21.565 275.659-187.26L163.33 456.509zm259.886-165.695l-196.797 79.423-15.771 21.569 212.568-100.992zM179.103 434.942l-15.773 21.567 259.886-165.695-244.113 144.128zm244.113-144.128L210.648 391.806l-15.772 21.569 228.34-122.561zm-228.34 122.561l-15.773 21.567 244.113-144.128-228.34 122.561zm-94.643 129.388l-15.776 21.561 338.759-273.51-322.983 251.949zm-47.329 64.679L37.126 629l386.09-338.186L52.904 607.442zm15.777-21.558l-15.777 21.558 370.312-316.628-354.535 295.07zm15.776-21.56l-15.776 21.56 354.535-295.07-338.759 273.51z"/>
</mask>
<path fill="#FFE500" d="M65.171 370.824l-.326-.379.513.843-.187-.464zm257.884-164.3l.406.291.001-.002-.407-.289zm-30.113 42.129l.405.293.002-.003-.407-.29zm74.61-104.825l.407.289-.814-.58.407.291zm14.868-20.919l.407.291-.715-.685.308.394zm40.796 167.905l.325.38-.512-.843.187.463zm-196.797 79.423l-.456-.206-.512 1.135 1.155-.466-.187-.463zm-160.922.967L428.212 59.941l-.651-.76L64.845 370.446l.652.759zM352.33 164.421l-29.683 41.813.815.579L353.145 165l-.815-.579zm-29.682 41.812l-30.113 42.129.814.581 30.112-42.128-.813-.582zm-30.111 42.126l-30.974 42.749.81.587 30.974-42.749-.81-.587zM65.491 371.208l347.363-290.01-.641-.768L64.851 370.44l.64.768zm301.653-227.67l-44.497 62.696.815.579 44.497-62.696-.815-.579zm-44.495 62.694l-61.087 84.878.812.584 61.087-84.878-.812-.584zM65.486 371.213L397.71 102.306l-.63-.777L64.856 370.436l.63.777zm301.659-227.676L261.561 291.111l.814.582 105.583-147.574-.813-.582zM65.479 371.218l317.249-247.915-.616-.788L64.863 370.43l.616.788zm316.534-248.6L261.561 291.111l.814.582L382.827 123.2l-.814-.582zM100.541 543.157l322.982-251.949-.615-.788L99.925 542.369l.616.788zm322.375-252.743L115.708 520.801l.6.8 307.208-230.387-.6-.8zM65.358 371.288l196.797-79.423-.374-.927-196.797 79.423.374.927zm357.567-80.88L131.492 499.232l.582.812 291.433-208.823-.582-.813zm-196.05 80.034l35.549-78.835-.912-.411-35.549 78.835.912.411zm196.06-80.041L147.276 477.66l.562.827 275.659-187.259-.562-.827zM226.606 370.7l196.797-79.422-.374-.927-196.797 79.422.374.927zm196.341-80.307L163.062 456.087l.537.843 259.886-165.694-.538-.843zM210.862 392.258L423.43 291.266l-.429-.903-212.568 100.992.429.903zm212.1-101.874L178.849 434.512l.509.861L423.47 291.245l-.508-.861zm-227.85 123.431l228.34-122.56-.473-.881-228.34 122.56.473.881zM84.772 564.713l338.758-273.51-.628-.778-338.759 273.51.628.778zM422.89 290.434L52.579 607.062l.65.76L423.54 291.194l-.65-.76zm.005-.004L68.361 585.499l.64.769 354.535-295.07-.64-.768zm4.991-230.869l-.809-.589-.002.004.811.585zm15.622-21.44l.808.589-1.469-1.34.661.751zM65.171 370.824l-.66-.751-2.002 1.761 2.666-.01-.004-1zm257.884-164.3l.814.58.001-.001-.815-.579zm14.868-20.927l.815.579v-.001l-.815-.578zm14.814-20.886l-.815-.579.815.579zm-59.795 83.942l.811.585.002-.003-.813-.582zm15.137-21.123l.813.582.001-.002-.814-.58zm-46.111 63.872l-.809-.588-1.161 1.595 1.974-.007-.004-1zm15.621-21.471l.809.588.002-.003-.811-.585zM412.534 80.814l-.811-.585-.002.002.813.583zm-44.982 63.014l-.815-.58-.001.001.816.579zm29.844-41.911l-.813-.583-.001.003.814.58zm-14.976 20.992l-.814-.581-.001.002.815.579zM116.008 521.201l.807.591v-.001l-.807-.59zm-15.775 21.562l.807.591v-.001l-.807-.59zm322.983-251.949l.659.752 2.011-1.762-2.674.01.004 1zM131.783 499.638l.807.59-.807-.59zm94.636-129.401l.807.59 1.168-1.598-1.979.008.004 1zm-78.862 107.837l.807.59-.807-.59zm15.773-21.565l.808.59-.808-.59zm47.318-64.703l.807.591v-.001l-.807-.59zm-31.545 43.136l.807.591h.001l-.808-.591zm15.773-21.567l.807.59-.807-.59zM84.457 564.324l.807.59-.807-.59zm-31.553 43.118l.807.591-.807-.591zM37.126 629l-.806-.591 1.465 1.343-.658-.752zm31.555-43.116l.807.59-.807-.59zM428.695 60.15l15.622-21.44-1.616-1.178-15.623 21.44 1.617 1.178zm14.153-22.78L64.511 370.073l1.32 1.502L444.17 38.872l-1.321-1.502zM323.87 207.103l14.868-20.927-1.63-1.158-14.868 20.927 1.63 1.158zm14.868-20.928l14.815-20.886-1.631-1.157-14.815 20.886 1.631 1.157zm-44.983 63.06l15.137-21.123-1.626-1.165-15.137 21.123 1.626 1.165zm15.138-21.125l14.976-21.006-1.629-1.161-14.975 21.006 1.628 1.161zm-46.116 63.88l15.621-21.471-1.617-1.177-15.622 21.472 1.618 1.176zm15.623-21.474l15.353-21.278-1.622-1.17-15.353 21.278 1.622 1.17zM413.344 81.4l15.353-21.253-1.621-1.171-15.353 21.252 1.621 1.172zm-59.791 83.889l14.814-20.883-1.631-1.157-14.814 20.883 1.631 1.157zm44.656-62.789l15.137-21.103-1.625-1.166-15.138 21.103 1.626 1.166zm-14.975 20.99l14.976-20.992-1.628-1.161-14.976 20.991 1.628 1.162zm-14.867 20.917l14.868-20.919-1.63-1.158-14.868 20.918 1.63 1.159zM115.201 520.611l-15.775 21.562 1.614 1.18 15.775-21.561-1.614-1.181zm15.775-21.563l-15.775 21.563 1.614 1.18 15.775-21.563-1.614-1.18zM65.175 371.824l161.247-.587-.007-2-161.248.587.008 2zm81.575 105.659l-15.774 21.565 1.614 1.18 15.774-21.564-1.614-1.181zm276.462-187.669l-161.248.588.008 2 161.248-.588-.008-2zM162.523 455.918l-15.773 21.565 1.614 1.181 15.774-21.565-1.615-1.181zm63.089-86.272l-15.772 21.57 1.615 1.18 15.771-21.569-1.614-1.181zm-47.316 64.706l-15.773 21.566 1.615 1.181 15.772-21.566-1.614-1.181zm31.544-43.136l-15.771 21.568 1.614 1.181 15.772-21.568-1.615-1.181zm-15.771 21.568l-15.773 21.568 1.615 1.181 15.772-21.568-1.614-1.181zM99.426 542.173l-15.776 21.56 1.614 1.181 15.776-21.56-1.614-1.181zm-47.329 64.679l-15.778 21.557 1.614 1.182 15.778-21.558-1.614-1.181zm-14.312 22.9l386.09-338.186-1.318-1.504-386.09 338.186 1.318 1.504zm30.089-44.459l-15.777 21.559 1.614 1.181 15.777-21.559-1.614-1.181zm15.776-21.56l-15.776 21.56 1.614 1.181 15.776-21.56-1.614-1.181z" mask="url(#a)"/>
</g>
<path fill="#FFE500" d="M422.869 31.471l15.623-21.44L60.154 342.734 422.869 31.472zM318.038 178.434l14.868-20.927 14.814-20.886-29.682 41.813zm-30.113 42.129l15.137-21.123 14.976-21.006-30.113 42.129zm-30.974 42.749l15.621-21.471 15.353-21.278-30.974 42.749zM407.516 52.724l15.353-21.252L60.154 342.733l347.362-290.01zm-89.478 125.71l29.682-41.813 14.815-20.883-44.497 62.696zm-61.087 84.878l30.974-42.749 30.113-42.129-61.087 84.878zM392.379 73.827l15.137-21.103-347.362 290.01L392.379 73.827zM256.951 263.312l61.087-84.878 44.497-62.696-105.584 147.574zM377.403 94.819l14.976-20.992L60.154 342.734 377.403 94.819zM256.951 263.312l105.584-147.574 14.868-20.919-120.452 168.493zm-145.96 229.799l-15.775 21.562 322.983-251.949-307.208 230.387zm145.96-229.799L377.403 94.819 60.153 342.734l196.798-79.422zM126.766 471.548l-15.775 21.563 307.208-230.387-291.433 208.824zm130.185-208.236L60.154 342.734l161.248-.587 35.549-78.835zM142.54 449.984l-15.774 21.564 291.433-208.824-275.659 187.26zm275.659-187.26l-161.248.588-35.549 78.835 196.797-79.423zM158.313 428.419l-15.773 21.565 275.659-187.26-259.886 165.695zm259.886-165.695l-196.797 79.423-15.772 21.569 212.569-100.992zM174.086 406.852l-15.773 21.567 259.886-165.695-244.113 144.128zm244.113-144.128L205.63 363.716l-15.771 21.569 228.34-122.561zm-228.34 122.561l-15.773 21.567 244.113-144.128-228.34 122.561zM95.216 514.673L79.44 536.234 418.2 262.724 95.216 514.673zm-47.33 64.679L32.11 600.91 418.2 262.724 47.887 579.352zm15.778-21.558l-15.777 21.558 370.312-316.628-354.535 295.07zm15.776-21.56l-15.776 21.56 354.535-295.07L79.44 536.234z"/>
</svg>
<div class="stage1__text">
<h3 id="jsScn11" class="h2h3 h2h3_h3">
Мы обожаем проводить время за играми! Но ещё больше — мы
любим их создавать
</h3>
<p id="jsScn12" class="text">
В нашей команде работают топовые специалисты и настоящие фанаты своего дела
</p>
</div>
</div>
</div>
<div id="jsScene2" class="scene scene_2">
<div id="jsStage2" class="stage stage2">
<div class="stage2__text">
<h3 id="jsScn21" class="h2h3 h2h3_h2">
Мы всегда думаем о пользователе
</h3>
<p id="jsScn23" class="text">
Стараемся создать увлекательный мир, который по-настоящему захватит его и подарит новый опыт
</p>
</div>
<table id="jsScn22" class="table-game">
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<div id="jsScene3" class="scene scene_3">
<div id="jsStage3" class="stage stage3">
<!-- <div class="el-works">
</div> -->
<div class="stage1__text">
<h3 id="jsScn31" class="h2h3 h2h3_h3">
Мы очень <br>быстро растем
</h3>
<p id="jsScn32" class="text">
Ищем людей, которые готовы расти вместе с нами — предлагать свои самые смелые идеи, вкладывать энергию и талант в наши продукты, делая их популярными по всему миру
</p>
</div>
</div>
</div>
/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
* What follows is the result of much research on cross-browser styling.
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
* Kroc Camen, and the H5BP dev community and team.
*/
/* ==========================================================================
Base styles: opinionated defaults
========================================================================== */
html {
color: #222;
font-size: 1em;
line-height: 1.4;
}
/*
* Remove text-shadow in selection highlight:
* https://twitter.com/miketaylr/status/12228805301
*
* Vendor-prefixed and regular ::selection selectors cannot be combined:
* https://stackoverflow.com/a/16982510/7133471
*
* Customize the background color to match your design.
*/
::-moz-selection {
background: #b3d4fc;
text-shadow: none;
}
::selection {
background: #b3d4fc;
text-shadow: none;
}
/*
* A better looking default horizontal rule
*/
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}
/*
* Remove the gap between audio, canvas, iframes,
* images, videos and the bottom of their containers:
* https://github.com/h5bp/html5-boilerplate/issues/440
*/
audio,
canvas,
iframe,
img,
svg,
video {
vertical-align: middle;
}
/*
* Remove default fieldset styles.
*/
fieldset {
border: 0;
margin: 0;
padding: 0;
}
/*
* Allow only vertical resizing of textareas.
*/
textarea {
resize: vertical;
}
/* ==========================================================================
Author's custom styles
========================================================================== */
@container: 1440px;
@c-black: #010101;
@c-grey: #F2F2F2;
@c-violet: #5E2EE6;
@c-yellow: #FFE500;
@c-red: #EF303C;
.center{
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.fixed{
position: fixed!important;
}
*{
box-sizing: border-box;
font-family: 'Montserrat';
position: relative;
}
body{
overflow-x: hidden;
color: @c-black;
background-color: @c-black;
}
.scene{
display: flex;
width: 100%;
height: 100vh;
&_0{
background-image: url('/img/bg-scene.png');
background-repeat: no-repeat;
background-position: center calc(100vh - 200px);
background-attachment: fixed;
background-size: contain;
color: @c-grey;
}
&_1{
background-color: @c-violet;
color: @c-grey;
}
&_2{
background-color: @c-yellow;
color: @c-black;
}
&_3{
color: @c-grey;
}
}
.stage:extend(.center) {
width: @container;
justify-content: space-between;
margin: auto;
z-index: 1;
}
.stage1{
&__text{
width: 682px;
}
}
.stage2{
.h2h3{
width: 744px;
}
&__text{
width: 667px;
}
}
.h2h3{
line-height: 130%;
&_h2{
font-size: 80px;
}
&_h3{
font-size: 48px;
}
}
.text{
font-size: 24px;
line-height: 150%;
}
// First slide
.h1{
font-size: 120px;
line-height: 146px;
white-space: nowrap;
}
.icon-logo:extend(.center){
.icon-logo__svg{
z-index: 1;
&_fixed{
position: fixed;
top: 27vh;
}
}
&__circle{
width: 400px;
height: 400px;
// width: 0;
// height: 0;
border-radius: 50%;
background: @c-violet;
z-index: 0;
display: block;
position: absolute;
}
}
// Second slide
.bodymovin-logo:extend(.center){
// g{
// fill: red;
// stroke: red;
// }
svg{
width: 106%!important;
transform: rotate(-2deg)!important;
}
}
// Third slide
.table-game{
@radius: 32.0727px;
@border: 5px solid rgba(16, 16, 16, 0.1);
width: 589px;
height: 600px;
border-spacing: 0;
tr{
&:first-child{
td{
&:first-child{
border-top-left-radius: @radius;
}
&:last-child{
border-top-right-radius: @radius;
}
}
}
&:last-child{
td{
border-bottom: @border;
&:first-child{
border-bottom-left-radius: @radius;
}
&:last-child{
border-bottom-right-radius: @radius;
}
}
}
}
td{
border-left: @border;
border-top: @border;
width: 100px;
height: 100px;
&:last-child{
border-right: @border;
}
}
}
.el-works{
}
/* ==========================================================================
Helper classes
========================================================================== */
/*
* Hide visually and from screen readers
*/
.hidden,
[hidden] {
display: none !important;
}
/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
* causes content to wrap 1 word per line:
* https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/
.sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: 1px;
/* 1 */
}
/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/
.sr-only.focusable:active,
.sr-only.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
white-space: inherit;
width: auto;
}
/*
* Hide visually and from screen readers, but maintain layout
*/
.invisible {
visibility: hidden;
}
/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
* `contenteditable` attribute is included anywhere else in the document.
* Otherwise it causes space to appear at the top and bottom of elements
* that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
* `:before` to contain the top-margins of child elements.
*/
.clearfix::before,
.clearfix::after {
content: " ";
display: table;
}
.clearfix::after {
clear: both;
}
/* ==========================================================================
EXAMPLE Media Queries for Responsive Design.
These examples override the primary ('mobile first') styles.
Modify as content requires.
========================================================================== */
@media only screen and (min-width: 35em) {
/* Style adjustments for viewports that meet the condition */
}
@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
/* Style adjustments for high resolution devices */
}
/* ==========================================================================
Print styles.
Inlined to avoid the additional HTTP request:
https://www.phpied.com/delay-loading-your-print-css/
========================================================================== */
@media print {
*,
*::before,
*::after {
background: #fff !important;
color: #000 !important;
/* Black prints faster */
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]::after {
content: " (" attr(href) ")";
}
abbr[title]::after {
content: " (" attr(title) ")";
}
/*
* Don't show links that are fragment identifiers,
* or use the `javascript:` pseudo protocol
*/
a[href^="#"]::after,
a[href^="javascript:"]::after {
content: "";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
/*
* Printing Tables:
* https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
*/
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}
// init controller
if (document.body.clientWidth >= 1200) {
function ScrollLottie(vars) {
let playhead = {frame: 0},
target = gsap.utils.toArray(vars.target)[0],
speeds = {slow: "+=2000", medium: "+=1000", fast: "+=500"},
st = {trigger: target, pin: true, start: "top top", end: speeds[vars.speed] || "+=1000", scrub: 1},
animation = lottie.loadAnimation({
container: target,
renderer: vars.renderer || "svg",
loop: false,
autoplay: false,
path: vars.path,
animationData: vars.animationData
});
for (let p in vars) { // let users override the ScrollTrigger defaults
st[p] = vars[p];
}
animation.addEventListener("DOMLoaded", function() {
gsap.to(playhead, {
frame: animation.totalFrames - 1,
ease: "none",
onUpdate: () => animation.goToAndStop(playhead.frame, true),
scrollTrigger: st
});
// in case there are any other ScrollTriggers on the page and the loading of this Lottie asset caused layout changes
ScrollTrigger.sort();
ScrollTrigger.refresh();
});
return animation;
}
gsap.registerPlugin(ScrollTrigger);
ScrollTrigger.defaults({
scrub: .1,
pin: true,
markers: {startColor: "white", endColor: "white", fontSize: "18px", indent: 10}
});
gsap.set('.jsScn4', {width:400, height:400});
gsap.set('.jsHide', { autoAlpha: 0 });
const tl = gsap.timeline()
.to('#jsScn1', 1, {top:'-100vh', left: '-100px', ease:Power1.easeInOut})
.to('#jsScn2', 1, {top:'-100vh', right: '-100px', ease:Power1.easeInOut}, '-=.85')
.to('#jsScn3', 1, {top:'-100vh', right: '-100px', ease:Power1.easeInOut}, '-=.85')
.fromTo('#jsScn11', 1, {top:'100vh'}, {top:'0', ease: Power1.easeInOut}, '-=2')
.fromTo('#jsScn12', 1, {top:'100vh'}, {top:'0', ease: Power1.easeInOut})
.to('#jsScn4', 1, {width:'900vh', height:'900vh', ease:Power1.easeInOut}, '-=.85')
const scroll = ScrollTrigger.create({
trigger: "#jsScene",
start: "top top",
end: "+=100%",
pinSpacing: false,
animation: tl,
onEnter: () => {
// document.getElementById('jsScene1').style.background = 'rgba(0,0,0,0)'
// document.getElementById('jsScene2').style.background = 'rgba(0,0,0,0)'
}
});
const tl1 = gsap.timeline({})
.fromTo('#jsScn11', 3, {top:'0'}, {top:'-100vh', ease:Power1.easeInOut}, '+=3')
.fromTo('#jsScn12', 3, {top:'0'}, {top:'-100vh', ease:Power1.easeInOut}, '-=2.85')
.fromTo('#jsScene1', 3, {background:'rgba(0,0,0,0)'}, {background:'rgba(255, 229, 0, 1)', ease:Power1.easeInOut}, '-=2.85')
.to('#jsScn5', 3, {left:'60vh', top:'0', zoom: '0.1', autoAlpha: 0, ease:Power1.easeInOut}, '-=2.85')
.to('#jsScn21', 1, {top:'-200vh', ease:Power1.easeInOut}, '-=2.85')
.to('#jsScn22', 1, {top:'-200vh', ease:Power1.easeInOut}, '-=1.85')
.to('#jsScn23', 1, {top:'-200vh', ease:Power1.easeInOut}, '-=1.85')
const scroll1 = ScrollTrigger.create({
trigger: "#jsScene1",
start: "top top",
end: "+=500%",
onLeave: () => {
// document.getElementById('#jsScn5').style.position = 'fixed'
},
// pinType: "transform",
markers: {startColor: "red", endColor: "red", indent: 200},
animation: tl1
});
const tl2 = gsap.timeline({})
const scroll2 = ScrollTrigger.create({
trigger: "#jsScene2",
// start: "top top",
start: "-=200%",
end: "+=500%",
markers: {startColor: "green", endColor: "green", indent: 400},
animation: tl2
});
ScrollLottie({
target: '#jsScn5',
// path: 'img/bodymovin-logo.json',
animationData: {"v":"4.8.0","meta":{"g":"LottieFiles AE ","a":"","k":"","d":"","tc":""},"fr":29.9700012207031,"ip":0,"op":62.0000025253118,"w":558,"h":761,"nm":"Предварительная композиция 6","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Слой-фигура 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[278.829,380.507,0],"ix":2},"a":{"a":0,"k":[31.25,17.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":32,"s":[693,693,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":47,"s":[981,981,100]},{"t":63.0000025660426,"s":[693,693,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.75,-19.75],[10.25,21.75],[29.25,22.5],[5.75,54.5],[53.5,12.5],[34.5,11.75]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.898039215686,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Фигура 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":27.0000010997325,"op":62.0000025253118,"st":-41.0000016699642,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Слой-фигура 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[278.897,380.504,0],"ix":2},"a":{"a":0,"k":[31.25,17.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":17,"s":[693,693,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":40,"s":[981,981,100]},{"t":56.0000022809268,"s":[693,693,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.75,-19.75],[10.25,21.75],[29.25,22.5],[5.75,54.5],[53.5,12.5],[34.5,11.75]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.898039215686,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Фигура 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":11.0000004480392,"op":62.0000025253118,"st":-57.0000023216576,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Слой-фигура 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[278.906,380.504,0],"ix":2},"a":{"a":0,"k":[31.25,17.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":14,"s":[693,693,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":35,"s":[981,981,100]},{"t":51.0000020772726,"s":[693,693,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.75,-19.75],[10.25,21.75],[29.25,22.5],[5.75,54.5],[53.5,12.5],[34.5,11.75]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.898039215686,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Фигура 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8.00000032584668,"op":61.0000024845809,"st":-60.0000024438501,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Слой-фигура 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[278.915,380.504,0],"ix":2},"a":{"a":0,"k":[31.25,17.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":10,"s":[693,693,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":27,"s":[981,981,100]},{"t":43.0000017514259,"s":[693,693,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.75,-19.75],[10.25,21.75],[29.25,22.5],[5.75,54.5],[53.5,12.5],[34.5,11.75]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.898039215686,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Фигура 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.00000016292334,"op":57.0000023216576,"st":-64.0000026067734,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Слой-фигура 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":64,"s":[100]},{"t":87.0000035435826,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[279,380.5,0],"ix":2},"a":{"a":0,"k":[31.25,17.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":-69,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":-53,"s":[693,693,100]},{"i":{"x":[0.008,0.008,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":70,"s":[693,693,100]},{"t":86.0000035028518,"s":[226,226,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.75,-19.75],[10.25,21.75],[29.25,22.5],[5.75,54.5],[53.5,12.5],[34.5,11.75]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.898039275525,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Фигура 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":62.0000025253118,"st":-76.0000030955435,"bm":0}],"markers":[]},
duration: .5,
start: () => { // "100%-250px ",
const height = window.innerHeight;
const chartHeight = document.querySelector('#jsScn5').offsetHeight;
return `${chartHeight + (height - chartHeight) / 2}px top`;
},
pin: true,
pinType: 'transform',
end: "+=300%",
markers: {startColor: "#e900ff", endColor: "red", indent: 200},
speed: 'fast'
})
}
Also see: Tab Triggers