Hero schaalt en vervaagt bij wegscrollen Nieuw
De hero-achtergrond blijft staan en schaalt, vervaagt en dimt terwijl de inhoud eroverheen schuift; de kop trekt licht omhoog weg. Alleen transform, filter en opacity, dus goedkoop voor de browser. CSS scroll-timeline in Chrome, Edge en Safari 26; elders en bij reduced motion blijft de hero gewoon stil staan.
Bakkerij Van Dam · Utrecht
Om vier uur gaat de oven aan.
ScrollZuurdesem, 48 uur gerezen€ 5,40
Spelt-volkoren€ 4,85
Krentenbol, per 6€ 3,90
Bestel vóór 20.00 uur, haal de volgende ochtend op aan de Twijnstraat 31. Op zondag gesloten.
Zo gebruik je het
- Plak de HTML op de plek waar het onderdeel moet komen.
- Zet de CSS in je stylesheet. Alle klassen hebben een eigen voorvoegsel, dus niets botst met je eigen opmaak.
- Geen JavaScript nodig.
<!-- Hero schaalt en vervaagt bij wegscrollen · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="hsb" tabindex="0" role="region" aria-label="Bakkerij, scrollbaar">
<div class="hsb__bg" aria-hidden="true"><img src="https://neddev.com/lab-media/hero-scale-blur-2.webp" alt="" width="1200" height="655"></div>
<div class="hsb__first"><div class="hsb__txt"><span class="hsb__k">Bakkerij Van Dam · Utrecht</span><h4 class="hsb__h">Om vier uur gaat de oven aan.</h4><span class="hsb__hint">Scroll</span></div></div>
<div class="hsb__content">
<div class="hsb__row"><b>Zuurdesem, 48 uur gerezen</b><span>€ 5,40</span></div>
<div class="hsb__row"><b>Spelt-volkoren</b><span>€ 4,85</span></div>
<div class="hsb__row"><b>Krentenbol, per 6</b><span>€ 3,90</span></div>
<p>Bestel vóór 20.00 uur, haal de volgende ochtend op aan de Twijnstraat 31. Op zondag gesloten.</p>
</div>
</div>
</div>/* Hero schaalt en vervaagt bij wegscrollen · NedDev · eigen werk. */
.hsb{position:absolute;inset:0;overflow-y:auto;container-type:size;scroll-timeline:--hsb y;background:#1a1410;font-family:'Switzer',system-ui,sans-serif;scrollbar-width:thin}
.hsb:focus-visible{outline:2px solid #F5480F;outline-offset:-2px}
.hsb__bg{position:sticky;top:0;height:100cqh;overflow:hidden;z-index:0}
.hsb__bg img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:50% 60%}
.hsb__first{position:relative;z-index:1;height:100cqh;margin-top:-100cqh;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(10,10,10,0) 35%,rgba(10,10,10,.72))}
.hsb__txt{padding:0 16px 16px;color:#fff}
.hsb__k{display:block;font:500 10px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;color:#ffd9c9}
.hsb__h{margin:0;font:800 clamp(22px,7.5cqi,38px)/1.02 'Switzer',sans-serif;letter-spacing:-.035em;max-width:12em}
.hsb__hint{display:inline-block;margin-top:8px;font:500 10px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#e9e4dd}
.hsb__hint::after{content:' \2193'}
.hsb__content{position:relative;z-index:1;background:#f4f3f1;color:#0a0a0a;padding:16px 16px 22px;border-radius:6px 6px 0 0;min-height:70cqh}
.hsb__row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #d9d6d1;font-size:14px}
.hsb__row span{font:600 12px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.hsb__content p{margin:14px 0 0;font-size:13px;line-height:1.5;color:#3a3530;max-width:30em}
@supports (animation-timeline: scroll()){
@media (prefers-reduced-motion:no-preference){
.hsb__bg img{animation:hsb-bg linear both;animation-timeline:--hsb;animation-range:0 100cqh}
.hsb__txt{animation:hsb-txt linear both;animation-timeline:--hsb;animation-range:0 60cqh}
}}
@keyframes hsb-bg{to{transform:scale(1.22);filter:blur(10px);opacity:.35}}
@keyframes hsb-txt{to{transform:translateY(-40px);opacity:0}}
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 →