scroll-fade
Utilities for adding a fade effect to the edges of a scroll container.
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
- Item 10
- Item 11
- Item 12
- Item 13
- Item 14
- Item 15
- Item 16
- Item 17
- Item 18
- Item 19
- Item 20
- Item 21
- Item 22
- Item 23
- Item 24
- Item 25
- Item 26
- Item 27
- Item 28
- Item 29
- Item 30
- Item 31
- Item 32
- Item 33
- Item 34
- Item 35
- Item 36
- Item 37
- Item 38
- Item 39
- Item 40
scroll-fade — masque le contenu aux bords d'un container scrollable via un mask-image animé par une scroll-driven animation (aucun JS, aucun scroll listener).
Au repos le bord opposé au scroll est net et le bord suivant fond. Pendant le scroll, les deux bords fondent. À la fin, le bord d'arrivée redevient net pour signaler "plus rien après".
Applique scroll-fade (ou scroll-fade-y) au container qui porte overflow-y-auto. Pour un scroll horizontal, utilise scroll-fade-x. Combine avec ScrollArea.
Usage
| Class | Styles |
|---|---|
| scroll-fade | mask-image haut + bas, animation-timeline: scroll(self y) |
| scroll-fade-y | Alias de scroll-fade pour explicit vertical. |
| scroll-fade-x | mask-image gauche + droite (mirror en RTL), animation-timeline: scroll(self inline) |
| scroll-fade-t | Fade sur le bord haut uniquement. |
| scroll-fade-b | Fade sur le bord bas uniquement. |
| scroll-fade-l | Fade sur le bord gauche (physique). |
| scroll-fade-r | Fade sur le bord droit (physique). |
| scroll-fade-none | Désactive le fade — utile en variante responsive : md:scroll-fade-none. |
| --scroll-fade-size | Profondeur du fade (défaut : min(12%, 40px)). Set via style="--scroll-fade-size: 24px". |
| --scroll-fade-reveal | Distance de scroll sur laquelle le fade apparaît/disparaît (défaut : 96px). |
No Overflow, No Fade
Si le contenu ne déborde pas, aucun fade ne s'affiche. Tu peux appliquer scroll-fade à n'importe quelle liste sans vérifier avant si elle scrolle.
- Item 1
- Item 2
- Item 3
- Item 4
Horizontal Scrolling
Utilise scroll-fade-x sur les containers qui scrollent horizontalement (overflow-x-auto). Le fade horizontal suit la direction de lecture — en RTL, le bord net et le bord fadé s'inversent automatiquement.
<div className="scroll-fade-x flex overflow-x-auto">…</div>
Edge Fades
Utilise les utilities de bord quand un seul edge doit suivre la position de scroll. Le start-edge apparaît quand tu t'éloignes du début, le end-edge disparaît quand tu atteins la fin.
scroll-fade-b
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
- Item 10
- Item 11
- Item 12
- Item 13
- Item 14
- Item 15
- Item 16
- Item 17
- Item 18
- Item 19
- Item 20
scroll-fade-t
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
- Item 10
- Item 11
- Item 12
- Item 13
- Item 14
- Item 15
- Item 16
- Item 17
- Item 18
- Item 19
- Item 20
<div className="scroll-fade-b overflow-y-auto">…</div>
Fade Size
La profondeur par défaut est 12% du container, cappée à 40px. Set --scroll-fade-size pour une valeur fixe.
Défaut
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
- Item 10
- Item 11
- Item 12
- Item 13
- Item 14
- Item 15
- Item 16
- Item 17
- Item 18
- Item 19
- Item 20
--scroll-fade-size: 80px
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
- Item 10
- Item 11
- Item 12
- Item 13
- Item 14
- Item 15
- Item 16
- Item 17
- Item 18
- Item 19
- Item 20
<div className="scroll-fade overflow-y-auto" style={{ "--scroll-fade-size": "80px" } as any}>…</div>
Disabling the Fade
scroll-fade-none supprime le fade. Utile en variante responsive : scroll-fade md:scroll-fade-none.
<div className="scroll-fade md:scroll-fade-none overflow-y-auto">…</div>
Fallback
Le comportement scroll-aware repose sur les CSS scroll-driven animations — supporté nativement dans Chrome 115+, Edge 115+. Dans les navigateurs sans support (Safari, Firefox actuel), scroll-fade retombe sur un fade statique sur les deux bords ; les edge utilities sur un fade statique du seul bord ciblé.
RTL
scroll-fade-x suit la direction de lecture. En RTL le bord droit est net au repos et la fade est à gauche — mirror du LTR — sans classe supplémentaire.
On This Page