Transitions✨ Premium

Fade & Slide Up

Relève sur un axe vertical : A monte de 40 px en s'effaçant pendant que B arrive de 40 px plus bas en apparaissant, sur la même transition de 0,6 s — le mouvement dit « au suivant ». CSS + 0,9 Ko de JavaScript, clic, Entrée ou Espace, simple fondu sur place si l'utilisateur réduit les animations.

CSSFadeSlide

Mis à jour le

Cet effet fait partie d'Effect.Labs — 840 effets vanilla, une partie gratuite, une partie premium. Transitions comprend 52 effets, dont 9 gratuits. Découvrir la catégorie →

3 exemples d'usage

Numéro appelé au guichet — écran de salle d'attente d'une préfecture — Fade & Slide Up exemple 1

① Numéro appelé au guichet — écran de salle d'attente d'une préfecture

QuandL'agente du guichet 5 appelle le ticket suivant : l'écran remplace « B041 → guichet 3 » par « B042 → guichet 5 », et l'ancien numéro rejoint l'historique.
PourquoiL'ancien numéro monte et s'efface pendant que le nouveau arrive du bas : on comprend « au suivant » même du fond de la salle.
RéglagesCadre de 384 × 220 px façon écran d'affichage (fond nuit, liseré bleu), numéro jaune de 64 px ; sous le cadre, l'historique des derniers appels se décale quand le nouveau numéro arrive ; heure et attente estimée à droite.
Intervenant suivant — écran de régie d'une conférence TEDx locale — Fade & Slide Up exemple 2

② Intervenant suivant — écran de régie d'une conférence TEDx locale

QuandEn régie, 30 secondes avant le changement de plateau, la technicienne passe à l'orateur suivant : la carte de Nadia Ferhat, qui termine, s'efface vers le haut et celle de Thomas Lenoir monte à sa place.
PourquoiL'axe vertical donne le sens d'un programme qui avance, et le fondu évite que deux visages se superposent.
RéglagesPanneaux en ligne (portrait rond de 96 px à gauche, nom, sujet et durée à droite), mention « Termine » en gris puis « Sur scène » en rouge ; le déroulé sous le cadre surligne le créneau en cours.
Prochain arrêt — écran intérieur d'un tramway — Fade & Slide Up exemple 3

③ Prochain arrêt — écran intérieur d'un tramway

QuandLes portes se ferment à la Gare et le T1 repart vers le Parc des Expositions : sous les yeux des voyageurs debout, « Arrêt : Gare » s'efface et « Prochain arrêt : Hôtel de Ville » monte à sa place.
PourquoiLe nom de l'arrêt passé monte et s'efface, le suivant arrive du bas : le passager debout comprend d'un coup d'œil que la ligne avance.
RéglagesFond vert sombre de la ligne, nom d'arrêt en 38 px ; plan de ligne sous le cadre dont le point courant passe de « Gare » à « Hôtel de Ville » et dont la partie parcourue grisée s'allonge.

Comment ça marche

Le cadre .fadeup-container (280 × 180 px, coins de 16 px, fond #111118, overflow: hidden) superpose deux panneaux .fadeup-panel en position: absolute; inset: 0, contenu centré en colonne. A est visible et à sa place ; B est transparent et 40 px plus bas (opacity: 0; transform: translateY(40px)). Les deux portent transition: .6s cubic-bezier(.4, 0, .2, 1), qui anime à la fois l'opacité et la position.

Au basculement de .active, A va à opacity: 0; translateY(-40px) et B à opacity: 1; translateY(0) : les deux contenus bougent dans le même sens, vers le haut, l'un en sortant, l'autre en entrant. Mesuré dans Chromium 151 : 250 ms après le clic, A est à 0,38 d'opacité et −24,8 px, B à 0,62 et +15,2 px (Firefox 153 : 0,41 / −23,6 px et 0,59 / +16,4 px) ; à 1,1 s, A à 0 et −40 px, B à 1 et 0, puis plus rien ne bouge (relevé 3 s après). Le second clic fait redescendre : B repart vers le bas, A revient d'en haut. Même résultat dans WebKit 26.5.

Le déplacement est court (40 px) et accompagné d'un fondu : les deux textes ne se chevauchent jamais à pleine opacité, ce qui évite que deux noms ou deux numéros se lisent l'un sur l'autre. Chaque .fadeup-container de la page garde son propre état, basculé à la souris comme au clavier ; aria-pressed et aria-hidden suivent, sans aucun nom global.

Accessibilité

  • Mouvement réduit : sous prefers-reduced-motion: reduce, les deux panneaux restent à leur place (transform: none) et seul un fondu de 0,15 s subsiste (mesuré dans Chromium et Firefox : aucune translation, passage terminé en moins de 260 ms).
  • Clavier et lecteurs d'écran : même fonctionnement que Slide Transition (fx-0696), un cadre bouton utilisable au clavier, panneau caché jamais lu.
  • Affichage public : pour un écran d'appel (guichet, quai), annoncez aussi le changement par le son ou une zone aria-live="polite" ; la relève visuelle seule ne suffit pas à une personne malvoyante.
  • Lisibilité : à mi-parcours, chaque texte est à environ 50 % et décalé de 20 px ; ne déclenchez pas la relève plus souvent que toutes les 3 secondes sur un texte qu'on doit lire.

Compatibilité navigateur

CSS (opacity, transform: translateY(), transition, inset) + 0,9 Ko de JavaScript, aucune dépendance. Mesuré dans Chromium 151, Firefox 153 et WebKit 26.5 : relève vers le haut, état B tenu, retour au second clic ; clavier et mouvement réduit mesurés dans Chromium et Firefox. Opacité et transform sont animées par le compositeur, sans recalcul de mise en page. inset fixe le plancher (Chrome 87, Firefox 66, Safari 14.1).

Chrome 87+✓ Complet
Firefox 66+✓ Complet
Safari 14.1+✓ Complet
Edge 87+✓ Complet
Mobile iOS 14.5+✓ Complet
Android Chrome 87+✓ Complet

Sans JavaScript, le panneau A reste affiché. Sans inset, écrivez top: 0; right: 0; bottom: 0; left: 0 sur .fadeup-panel.

Le code

Structure HTML à coller dans votre page (le CSS + JS sont inclus avec Premium) :

index.html — structure
<div class="fadeup-stage">
  <div class="fadeup-container" role="button" tabindex="0" aria-pressed="false">
    <div class="fadeup-panel fadeup-panel-a">…</div>
    <div class="fadeup-panel fadeup-panel-b" aria-hidden="true">…</div>
  </div>
  <span class="fadeup-hint">…</span>
</div>
Débloquer le code complet — 9,90 € TTC/mois

Le code complet HTML + CSS + JS de Fade & Slide Up, prêt à coller — et les 840 effets. Ou 299 € TTC une fois, accès à vie.

Personnaliser

Options passées à l'API ou attributs data-* :

Option / propriétéDéfautEffet
Distance (CSS — translateY(40px) et translateY(-40px)) 40 px 20 px pour une relève discrète dans une carte, 60 à 80 px pour un grand écran. Au-delà de la moitié de la hauteur du cadre, les textes sortent avant d'avoir fini de s'effacer.
Sens (CSS — signes des deux translateY) vers le haut Inversez les signes pour une relève vers le bas (revenir à l'élément précédent) ; gardez le même sens pour A et B, c'est ce qui donne l'impression de file.
Durée et courbe (CSS — transition de .fadeup-panel) 0,6 s, cubic-bezier(.4, 0, .2, 1) 0,4 s pour un compteur ou un cours de bourse ; décalez B de 0,1 s (transition-delay sur .fadeup-container.active .fadeup-panel-b) pour que A soit presque sorti quand B entre.
Contenu (HTML — .fadeup-panel-a, -b) avatar, nom, rôle Tout contenu centré convient : numéro, nom d'arrêt, citation. Gardez des panneaux de même hauteur pour que le mouvement reste régulier.
Cadre (CSS — .fadeup-container) 280 × 180 px, fond #111118 Le fond du cadre est ce qu'on voit pendant le passage : mettez la couleur de votre écran, opaque.

FAQ

Sans fondu, A et B seraient tous deux opaques pendant le passage et, décalés de quelques pixels seulement, leurs textes se liraient l'un sur l'autre. Le fondu fait qu'à chaque instant l'un domine : A tant qu'il est près de sa place, B dès qu'il approche de la sienne. Le mouvement court donne le sens, le fondu garde la lecture propre.
Avec deux panneaux qui alternent, le deuxième clic fait redescendre : c'est un aller-retour. Pour une file qui monte toujours (numéros, arrêts), votre script peut gérer trois positions par classe : is-in (en place, opaque), is-out (40 px plus haut, transparent) et is-next (40 px plus bas, transparent). À chaque appel, il passerait l'élément affiché en is-out, le suivant en is-in, puis replacerait l'ancien en is-next sans transition, prêt à resservir avec le texte suivant.
Non : les panneaux sont en position absolue dans un cadre de taille fixe, la transformation ne change pas la mise en page. Le cadre coupe ce qui dépasse pendant les 40 px de déplacement.