Sticky-stack kaarten
Kaarten pinnen en schalen terug terwijl de volgende eroverheen schuift.
A
B
C
Zo gebruik je het
- Plak de HTML op de plek waar het onderdeel moet komen. Zet de script-tags bovenaan één keer per pagina.
- Zet de CSS in je stylesheet. Alle klassen hebben een eigen voorvoegsel, dus niets botst met je eigen opmaak.
- Voeg de JavaScript toe en roep init() aan met het element waar de HTML in staat.
<!-- Sticky-stack kaarten · NedDev · eigen werk. -->
<!-- benodigd, één keer per pagina: -->
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script>
<div class="jouw-container">
<div class="sstack-root"><div class="sstack-card" style="--i:0">A</div><div class="sstack-card" style="--i:1">B</div><div class="sstack-card" style="--i:2">C</div></div>
</div>/* Sticky-stack kaarten · NedDev · eigen werk. */
.sstack-root{position:absolute;inset:0;overflow:hidden;background:#0e0e14}
.sstack-card{position:absolute;inset:14px;display:flex;align-items:center;justify-content:center;font:60px 'Boldonse','Switzer',sans-serif;color:#fff;border-radius:10px;will-change:transform}
.sstack-card[style*="--i:0"]{background:#1a1a1a;z-index:1}.sstack-card[style*="--i:1"]{background:#F5480F;z-index:2;transform:translateY(40%)}.sstack-card[style*="--i:2"]{background:#2a2a2a;z-index:3;transform:translateY(80%)}// Sticky-stack kaarten · NedDev · eigen werk.
// root = het element waarin de HTML staat
function init(root){
if(!window.gsap)return;root.querySelectorAll('.sstack-card').forEach(function(c){gsap.to(c,{yPercent:0,ease:'none',scrollTrigger:{trigger:root,start:'top 85%',end:'bottom 45%',scrub:1}});});
}
init(document.querySelector('.jouw-container'));
Meer uit scroll-effecten
Iets gezien dat je mooi vindt?
Zet het in je selectie en stuur hem op. Dan bouwen we je site eromheen, in jouw huisstijl.
Neem contact op →