Hide your header until you need it!
Svelte Headroom is a Svelte component to hide or show your header on scroll, inspired by headroom.js
svelte-headroom has no dependencies.
npm install svelte-headroom
<script>
import Headroom from "svelte-headroom";
</script>
<Headroom>
<!-- my header -->
</Headroom>
offset numberThe number of pixels from the top of the page before the effect is allowed to occur. The default value is 0.
<Headroom offset={50}>
<!-- my header -->
</Headroom>
tolerance numberThe amount of pixels that need to be scrolled in either direction for the effect to occur. This is useful if you want the user to be able to scroll slowly and not change the header position. The default value is 0.
<Headroom tolerance={10}>
<!-- my header -->
</Headroom>
duration stringThe duration of the sliding effect. The value is passed on as a CSS Transition Duration. The default value is "300ms".
<Headroom duration='500ms'>
<!-- my header -->
</Headroom>
A svelte-headroom component emits two events: pin and unpin.
<Headroom
on:pin={ () => {} }
on:unpin={ () => {} }
>
<header>My Header</header>
</Headroom>
Happy Coding!