svelte-c-reveal

Svelte component for reveal effects on scroll

Usage no npm install needed!

<script type="module">
  import svelteCReveal from 'https://cdn.skypack.dev/svelte-c-reveal';
</script>

README

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>