three实现滚动瀑布时间线大事记效果代码
代码语言:html
所属分类:其他
代码描述:three实现滚动瀑布时间线大事记效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/modernizr.2.8.3.js"></script> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/reset.min.css"> <style> /* custom styles */ body { font-family: open-sans, sans-serif; overflow-x: hidden; color: white; background: black; } h2, h3 { position: relative; text-transform: uppercase; font-family: open-sans-condensed, sans-serif; font-size: 3rem; font-weight: 100; letter-spacing: .1em; margin: 0 0 .5rem 0; text-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5); } h3 { font-size: 1.5rem; } a { text-decoration: none; font-size: 1.5rem; font-weight: 500; } a:hover { color: white; } ol { font-size: 3rem; text-transform: uppercase; list-style-type: decimal; } li { line-height: 1.5; } .slide { position: relative; display: flex; display: -webkit-flex; -webkit-flex-direction: column; -webkit-align-items: center; -webkit-justify-content: center; -moz-flex-direction: column; -moz-align-items: center; -moz-justify-content: center; width: 100vw; height: 100vh; } figure { position: relative; padding: 50px 80px; width: 400px; opacity: 0; -moz-transition: -webkit-clip-path 1s, opacity 0.2s; -o-transition: -webkit-clip-path 1s, opacity 0.2s; -webkit-transition: -webkit-clip-path 1s, opacity 0.2s; transition: -webkit-clip-path 1s, opacity 0.2s; } figure canvas { position: absolute; top: 0; -moz-transform: scale(0); -ms-transform: scale(0); -webkit-transform: scale(0); transform: scale(0); -moz-transition: -webkit-transform 0.5s; -o-transition: -webkit-transform 0.5s; -webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s; } figure.in { opacity: 1; } figure.in canvas { -moz-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); } figure.in figcaption { opacity: 1; } figure.right { float: right; } figure.right canvas { left: 0; } figure.right figcaption { border-left: 2px solid white; text-align: left; } figure.left { float: left; } figure.left canvas { right: 0; } figure.left figcaption { border-right: 2px solid white; text-align: right; } figcaption { position: relative; padding: 0 10px; z-index: 1; text-transform: uppercase; font-family: open-sans-condensed, sans-serif; font-size: 1.3rem; opacity: 0; -moz-transition: -webkit-clip-path 1s, opacity 1s; -o-transition: -webkit-clip-path 1s, opacity 1s; -webkit-transition: -webkit-clip-path 1s, opacity 1s; transition: -webkit-clip-path 1s, opacity 1s; } figcaption p { line-height: 1.5; } .section { width: 100vw; height: 100vh; } .slide { -webkit-box-sizing: border-box; padding: 1rem; } #title { margin: auto; } #scroll-btn { position: fixed; bottom: 0; left: 50%; margin-left: -54px; opacity: 1; -moz-transition: opacity 0.2s; -o-transition: opacity 0.2s; -webkit-transition: opacity 0.2s; transition: opacity 0.2s; -moz-transform: translateZ(0); -ms-transform: translateZ(0); -webkit-transform: translateZ(0); transform: translateZ(0); } #scroll-btn.out { opacity: 0; } #ground { top: 0; left: 0; position: fixed; width: 100%; height: 100%; } #deck { z-index: 2; } </style> </head> <body> <script id="skyVS"> varying vec2 vUv; varying float time; uniform float delta; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0); } </script> <script id="skyFS"> #ifdef GL_ES precision highp float; #endif uniform vec2 resolution; uniform float time; uniform float delta; varying vec2 vUv; void main(void) { vec2 position = vUv; float red = 0.1; float green = 0.0; float blue = 0.1; if (vUv.y < 0.85) { float offset = 0.1 + (0.85 - vUv.y) * (1.0 + sin(delta * 0.1) * 1.0); blue = offset; red = offset; //blue *= (1.1 + cos(vUv.x + delta * 0.3) * 0.05); blue *= 1.0 + cos(vUv.x + delta * 0.3) * 0.05; } if (vUv.y < 0.8) { blue += 0.0 + cos(vUv.x + delta * 0.2) * 0.01; } vec3 rgb = vec3(red, green, blue); vec4 color = vec4(rgb, 1.0); gl_FragColor = color; } </script> <canvas id="ground"></canvas> <div id="whitepanel"></div> <div id="deck"> <section id="cover" class="cover slide slide--green" data-x="0" data-y="0" data-z="0"> <h2>the great fall</h2> <h3>scroll down</h3> </section> <section class="section"> <figure class="right"> <figcaption> <h2>Conflict</h2> <p>Conflict arises from attempts to control the flow of mana by use of technology or magic between different civilizations.</p> </figcaption> </figure> </section> <section class="section"> <figure class="left"> <figcaption> <h2>knights</h2> <p>An order of knights work to maintain balance of mana in the world to avert disaster, and protect the Mana Tree.</p> </figcaption> </figure> </section> <section class="section"> <figure class="right"> <figcaption> <h2>cataclysm</h2> <p>Hints that a cataclysm may be on the horizon, or has already happened in the past also play a large part in both games.</p> </figcaption> </figure> </section> <section class="section"> <figure class="left"> <figcaption> <h2>Disobeying</h2> <p>Disobeying their Elder's instructions, three boys from the small Potos village trespass into a local waterfall where a treasure is said to be kept.</p> </figcaption> </figure> </section> <section class="section"> <figure class="right"> <figcaption> <h2>Randi</h2> <p>One of the boys, the game's protagonist (named Randi in the original Japanese version), stumbles and falls into the lake, where he finds a rusty sword embedded in a stone.</p> </figcaption> </figure> </section> <section class="section"> <figure class="left"> <figcaption> <h2>Sword</h2> <p>Guided by a disembodied voice, he pulls the sword free, inadvertently unleashing monsters in the surrounding countryside of the village. </p> </figcaption> </figure> </section> <section class="section"> <figure class="right"> <figcaption> <h2>Omen</h2> <p>The villagers interpret the sword's removal as a bad omen and banish the boy from Potos forever. </p> </figcaption> </figure> </section> <section class="section"> <figure class="left"> <figcaption> <h2>Jema</h2> <p>An elderly knight named Jema recognizes the blade as the legendary Mana Sword, and encourages the hero to re-energize it by visiting the eight Mana Temples.</p> </figcaption> </figure> </section> <section class="section"> <figure class="right"> <figcaption> <h2>journey</h2> .........完整代码请登录后点击上方下载按钮下载查看
网友评论0