Reveal
Simple Svelte (<3) component for reveal on scroll
Usage
<script>
import Reveal from "svelte-c-reveal";
</script>
<Reveal> Content to be revealed </Reveal>
<Reveal trigger="0.1" reveal="fadeInUp">
Trigger when 10% is in viewport
</Reveal>
<Reveal trigger="0.5" reveal="fadeInUp">
Trigger in center of viweport (50%)
</Reveal>
Reveal and Hide
<script>
import Reveal from "svelte-c-reveal";
</script>
<Reveal trigger="0.5" reveal="fadeInUp" hide="fadeOutDown">
<h1>My revealed content</h1>
<p>Hello I'm here!</p>
</Reveal>
Props
| Name |
Value |
Desc |
reveal |
String |
Reveal effect |
hide |
String |
Reveal out (hide) effect |
trigger |
Float |
(0.0 to 1.0) When the reveal will trigger -> (viewport height * trigger) |
duration |
Css value |
(number) Duration of the transition in seconds without "s" |
delay |
Css value |
(number) Time delayed in seconds without "s" |
Effects availables
| Name |
fadeIn |
fadeOut |
fadeInUp [default] |
fadeOutUp |
fadeInDown |
fadeOutDown |
fadeInRotateX |
fadeOutRotateX |
fadeInRotateY |
fadeOutRotateY |
fadeInLeft |
fadeOutLeft |
fadeInRight |
fadeOutRight |
Custom effects
<script>
import Reveal from "svelte-c-reveal";
</script>
<style>
.myfx {
animation-name: myanimation;
}
@keyframes myanimation {
0% {
opacity: 0;
transform: rotate(90deg) scale(0);
}
100% {
opacity: 1;
transform: rotate(0deg) scale(1);
}
}
</style>
<Reveal trigger="0.5" reveal="myfx"> The center of viweport </Reveal>