Browser support
awesome-reveal is built on two web APIs: Intersection Observer and Web Animations. Both are Baseline Widely available: they have worked in all the Baseline browsers for at least 2.5 years.
The packages also support older browsers: Chrome 84, Firefox 75 (79 on Android) and Safari 13.1, or later. These versions support the Web Animations API with implicit keyframes.
Fallbacks
Section titled “Fallbacks”In browsers without a necessary API, the content still shows:
- Without
IntersectionObserver, elements are revealed immediately. - Without
Element.animate, elements appear with no animation. - When
element.animatethrows, the element appears with no animation. For example, browsers without CSSlinear()throw on aspring()easing that the server created. A property value that the browser does not support does not throw: the browser ignores it.
If the browser rejects an option, such as an invalid rootMargin, the element shows at once. The error is reported once for each message, and it reaches window.onerror: it does not throw in your code.
Implicit keyframes in Safari
Section titled “Implicit keyframes in Safari”The built-in keyframes end with an empty keyframe ({}). The browser fills it with the current style of the element. MDN marks the support of Safari for these implicit keyframes as partial. If a custom animation looks wrong in Safari, give explicit values to each keyframe.
Awesome Reveal is free and open source. Sponsor it on GitHub.