Problem / Motivation
EaseMotion currently utilizes a JavaScript file (reveal.js using IntersectionObserver) to achieve scroll-triggered .ease-reveal animations. While functional, relying on JavaScript for styling violates the "Zero Dependency" philosophy of the framework. Modern evergreen browsers now support the CSS animation-timeline API, allowing scroll animations directly in the stylesheet.
Proposed Solution
Create a forward-looking proof-of-concept (PoC) that implements native, JavaScript-free scroll-reveals using the @scroll-timeline and view() CSS APIs, utilizing EaseMotion's existing keyframes.
Implementation Details
As per the strict contribution guidelines, I will isolate this in the Examples track:
- Create
submissions/examples/ease-scroll-native-viidhii19/.
- Write
style.css containing a .ease-view-reveal-viidhii19 class. It will utilize animation-timeline: view(); and animation-range: entry 10% cover 30%; to map EaseMotion's native fade-in and slide-up keyframes directly to the browser's scroll position without any JS event listeners.
- Provide
demo.html showcasing multiple staggered cards animating purely via CSS scroll parsing.
- Include
README.md explaining browser support and the CSS timeline math.
Track
Standard (HTML/CSS) (submissions/examples/)
Would you like to work on this?
Problem / Motivation
EaseMotion currently utilizes a JavaScript file (
reveal.jsusing IntersectionObserver) to achieve scroll-triggered.ease-revealanimations. While functional, relying on JavaScript for styling violates the "Zero Dependency" philosophy of the framework. Modern evergreen browsers now support the CSSanimation-timelineAPI, allowing scroll animations directly in the stylesheet.Proposed Solution
Create a forward-looking proof-of-concept (PoC) that implements native, JavaScript-free scroll-reveals using the
@scroll-timelineandview()CSS APIs, utilizing EaseMotion's existing keyframes.Implementation Details
As per the strict contribution guidelines, I will isolate this in the Examples track:
submissions/examples/ease-scroll-native-viidhii19/.style.csscontaining a.ease-view-reveal-viidhii19class. It will utilizeanimation-timeline: view();andanimation-range: entry 10% cover 30%;to map EaseMotion's nativefade-inandslide-upkeyframes directly to the browser's scroll position without any JS event listeners.demo.htmlshowcasing multiple staggered cards animating purely via CSS scroll parsing.README.mdexplaining browser support and the CSS timeline math.Track
Standard (HTML/CSS) (
submissions/examples/)Would you like to work on this?