UNPKG

move.gl

Version:

Motion and Animation Library for Stylescape.

416 lines (370 loc) 16.5 kB
<!DOCTYPE html> <html lang="en" data-theme="light"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="description" content="Motion and Animation Library — CSS animations, transitions, keyframes, and interactive motion effects." /> <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)" /> <meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)" /> <title>move.gl</title> <!-- Library CSS --> <link rel="stylesheet" href="/css/move.gl.css" /> <!-- Documentation CSS --> <link rel="stylesheet" href="/css/move.gl.docs.css" /> <!-- Fonts --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> </head> <body class=""> <div class="nav-wrapper"> <nav class="nav"> <div class="nav__inner"> <a href="index.html" class="nav__logo"> <span class="nav__logo-text">move.gl</span> <span class="nav__version">v0.0.1</span> </a> <div class="nav__right"> <button type="button" class="theme-toggle" data-toggle="theme" title="Toggle dark mode" aria-label="Toggle dark mode"> <svg class="theme-icon theme-icon--light" width="16" height="16" viewBox="0 0 16 16" fill="currentColor"> <path d="M8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zm7-5a.75.75 0 00-.75-.75h-1.5a.75.75 0 000 1.5h1.5A.75.75 0 0015 8zM3 8a.75.75 0 00-.75-.75H.75a.75.75 0 000 1.5h1.5A.75.75 0 003 8zm9.536-4.536a.75.75 0 00-1.06 0l-1.061 1.06a.75.75 0 001.06 1.061l1.061-1.06a.75.75 0 000-1.061zm-9.072 9.072a.75.75 0 00-1.06 0l-1.061 1.06a.75.75 0 101.06 1.061l1.061-1.06a.75.75 0 000-1.061zm9.072 0a.75.75 0 00-1.06 1.06l1.06 1.061a.75.75 0 101.061-1.06l-1.06-1.061zm-9.072-9.072a.75.75 0 00-1.06 1.06l1.06 1.061a.75.75 0 001.061-1.06l-1.06-1.061z" /> </svg> <svg class="theme-icon theme-icon--dark" width="16" height="16" viewBox="0 0 16 16" fill="currentColor"> <path d="M6.2 1A6.98 6.98 0 008 7a6.98 6.98 0 00-1.8 6A7 7 0 116.2 1z" /> </svg> </button> <div class="nav__dropdown" id="nav-dropdown"> <button type="button" class="nav__dropdown-toggle" aria-expanded="false" aria-haspopup="true"> <span>Docs</span> <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5"> <path d="M1 1l4 4 4-4" /> </svg> </button> <div class="nav__dropdown-menu" role="menu"> <div class="nav__dropdown-section"> <span class="nav__dropdown-label">Learn</span> <a href="getting-started.html" role="menuitem">Getting Started</a> <a href="core-concepts.html" role="menuitem">Core Concepts</a> </div> <div class="nav__dropdown-section"> <span class="nav__dropdown-label">Overview</span> <a href="test_overview.html" role="menuitem">All Animations</a> </div> <div class="nav__dropdown-section"> <span class="nav__dropdown-label">Animations</span> <a href="test_fade.html" role="menuitem">Fade</a> <a href="test_slide.html" role="menuitem">Slide</a> <a href="test_bounce.html" role="menuitem">Bounce</a> <a href="test_zoom.html" role="menuitem">Zoom</a> <a href="test_flip.html" role="menuitem">Flip</a> <a href="test_scale.html" role="menuitem">Scale</a> <a href="test_spin.html" role="menuitem">Spin & Rotate</a> <a href="test_pulse.html" role="menuitem">Pulse</a> <a href="test_shake.html" role="menuitem">Shake & Wobble</a> <a href="test_attention.html" role="menuitem">Attention</a> <a href="test_special.html" role="menuitem">Special Effects</a> </div> <div class="nav__dropdown-section"> <span class="nav__dropdown-label">Effects</span> <a href="test_loaders.html" role="menuitem">Loaders</a> <a href="test_transitions.html" role="menuitem">Transitions</a> <a href="test_transforms.html" role="menuitem">Transforms</a> <a href="test_effects.html" role="menuitem">Filter Effects</a> <a href="test_keyframes.html" role="menuitem">Keyframes</a> <a href="test_mouse.html" role="menuitem">Mouse Interactions</a> </div> <div class="nav__dropdown-section"> <span class="nav__dropdown-label">TypeScript Demos</span> <a href="demo_draggable.html" role="menuitem">Draggable</a> <a href="demo_gesture.html" role="menuitem">Gesture Handler</a> <a href="demo_keyboard.html" role="menuitem">Virtual Keyboard</a> <a href="demo_screensaver.html" role="menuitem">Screensaver</a> <a href="demo_video_overlay.html" role="menuitem">Video Overlay</a> </div> </div> </div> <a href="https://github.com/stylescape/move.gl" class="nav__github" target="_blank" title="View on GitHub"> <svg width="18" height="18" viewBox="0 0 16 16" fill="currentColor"> <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" /> </svg> </a> </div> </div> </nav> </div> <div class="container"> <header class="header"><p class="eyebrow">Animations</p> <h1>Keyframe Animations</h1> </header> <main> <section> <h2>About Keyframes</h2> <p>Keyframes are the building blocks of CSS animations. In move.gl, keyframes are used internally by the <code>animate_*</code> utility classes. This page demonstrates how different keyframe animations look when applied via the animation classes.</p> </section> <section> <h2>Beat Animations</h2> <p>Pulsing heartbeat-style animations using scale keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_beat"></div> <p>animate_beat</p> </div> <div class="demo-item"> <div class="demo-box animate_beat_fade"></div> <p>animate_beat_fade</p> </div> <div class="demo-item"> <div class="demo-box animate_beat_double"></div> <p>animate_beat_double</p> </div> </div> </section> <section> <h2>Flash Animations</h2> <p>Attention-grabbing flash effects using opacity keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_flash"></div> <p>animate_flash</p> </div> <div class="demo-item"> <div class="demo-box animate_flash_fade"></div> <p>animate_flash_fade</p> </div> <div class="demo-item"> <div class="demo-box animate_flash_strobe"></div> <p>animate_flash_strobe</p> </div> <div class="demo-item"> <div class="demo-box animate_flash_fade_slow"></div> <p>animate_flash_fade_slow</p> </div> </div> </section> <section> <h2>Pulse Animations</h2> <p>Rhythmic pulsing effects using scale keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_pulse"></div> <p>animate_pulse</p> </div> <div class="demo-item"> <div class="demo-box animate_pulse_slow"></div> <p>animate_pulse_slow</p> </div> <div class="demo-item"> <div class="demo-box animate_pulse_fast"></div> <p>animate_pulse_fast</p> </div> <div class="demo-item"> <div class="demo-box animate_pulse_color"></div> <p>animate_pulse_color</p> </div> </div> </section> <section> <h2>Scale Animations</h2> <p>Size-changing animations using transform scale keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_scale_expand"></div> <p>animate_scale_expand</p> </div> <div class="demo-item"> <div class="demo-box animate_scale_shrink"></div> <p>animate_scale_shrink</p> </div> <div class="demo-item"> <div class="demo-box animate_zoom"></div> <p>animate_zoom</p> </div> <div class="demo-item"> <div class="demo-box animate_zoom_fade"></div> <p>animate_zoom_fade</p> </div> </div> </section> <section> <h2>Rotation Animations</h2> <p>Spinning and rotating animations using transform rotate keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_spin"></div> <p>animate_spin</p> </div> <div class="demo-item"> <div class="demo-box animate_spin_reverse"></div> <p>animate_spin_reverse</p> </div> <div class="demo-item"> <div class="demo-box animate_spin_pulse"></div> <p>animate_spin_pulse</p> </div> <div class="demo-item"> <div class="demo-box animate_wobble">~</div> <p>animate_wobble</p> </div> </div> </section> <section> <h2>Translate Animations</h2> <p>Movement-based animations using transform translate keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_slide_in_right"></div> <p>animate_slide_in_right</p> </div> <div class="demo-item"> <div class="demo-box animate_slide_in_down"></div> <p>animate_slide_in_down</p> </div> <div class="demo-item"> <div class="demo-box animate_float"></div> <p>animate_float</p> </div> <div class="demo-item"> <div class="demo-box animate_bounce"></div> <p>animate_bounce</p> </div> </div> </section> <section> <h2>Fade Animations</h2> <p>Opacity-based animations using fade keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_fade"></div> <p>animate_fade</p> </div> <div class="demo-item"> <div class="demo-box animate_fade_in"></div> <p>animate_fade_in</p> </div> <div class="demo-item"> <div class="demo-box animate_blink"></div> <p>animate_blink</p> </div> <div class="demo-item"> <div class="demo-box animate_blink_soft"></div> <p>animate_blink_soft</p> </div> </div> </section> <section> <h2>Skew & Jiggle Animations</h2> <p>Skewing and shearing animations using transform skew keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_jiggle"></div> <p>animate_jiggle</p> </div> <div class="demo-item"> <div class="demo-box animate_jiggle_vertical"></div> <p>animate_jiggle_vertical</p> </div> <div class="demo-item"> <div class="demo-box animate_shake"></div> <p>animate_shake</p> </div> <div class="demo-item"> <div class="demo-box animate_shake_horizontal"></div> <p>animate_shake_horizontal</p> </div> </div> </section> <section> <h2>3D Animations</h2> <p>3D transform-based animations using perspective and rotate3d keyframes.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_flip"></div> <p>animate_flip</p> </div> <div class="demo-item"> <div class="demo-box animate_flip_horizontal"></div> <p>animate_flip_horizontal</p> </div> <div class="demo-item"> <div class="demo-box animate_swing"></div> <p>animate_swing</p> </div> <div class="demo-item"> <div class="demo-box animate_tada"></div> <p>animate_tada</p> </div> </div> </section> <section> <h2>Combined Animations</h2> <p>Complex animations combining multiple keyframe properties.</p> <div class="demo-row"> <div class="demo-item"> <div class="demo-box animate_bounce_rotate"></div> <p>animate_bounce_rotate</p> </div> <div class="demo-item"> <div class="demo-box animate_pop"></div> <p>animate_pop</p> </div> <div class="demo-item"> <div class="demo-box animate_elastic"></div> <p>animate_elastic</p> </div> </div> </section> <section> <h2>Usage</h2> <div class="code-block"><span class="comment">// Use the animate_* utility classes directly</span> &lt;div class="animate_beat"&gt;&lt;/div&gt; &lt;div class="animate_pulse"&gt;...&lt;/div&gt; &lt;div class="animate_spin"&gt;...&lt;/div&gt; <span class="comment">// Or use the SCSS mixins</span> .my-element { @include animate_beat; } .pulsing-button { @include animate_pulse_slow; } <span class="comment">// Custom keyframes using the mixin</span> @include keyframes('my-custom-animation') { 0% { transform: translateY(0); } 50% { transform: translateY(-30px); } 100% { transform: translateY(0); } } .bouncing-element { animation: my-custom-animation 0.6s ease infinite; } </div> </section> </main> <footer class="footer"> <div class="footer__content"> <div class="footer__left"> <span class="footer__brand">move.gl</span> <span class="footer__tagline">Motion & Animation Library</span> </div> <div class="footer__right"> <div class="footer__links"> <a href="https://github.com/stylescape/move.gl" class="footer__link" target="_blank">GitHub</a> <a href="https://www.npmjs.com/package/move.gl" class="footer__link" target="_blank">npm</a> <a href="https://www.scape.agency" class="footer__link" target="_blank">Scape Agency</a> </div> <span class="footer__copyright">© 2024 Scape Agency. MIT License.</span> </div> </div> </footer> </div> <!-- Library JS --> <script type="module" src="/js/move.gl.js"></script> <!-- Demo Scripts --> <script type="module" src="/js/demo.js"></script> </body> </html>