Liquid✨ Premium

Mercury Drops

Quatre sphères chromées de 50 à 80 px — dégradé gris à 135°, ombres internes, reflet blanc — sautent de 30 px en s'étirant, retombent en s'écrasant, rebondissent de 15 px puis se posent, en vague décalée de 0,2 s sur une boucle de 2 s : du métal dur et poli en CSS pur, posé immobile si l'utilisateur réduit les animations.

CSSGradientMetallic

Mis à jour le

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

3 exemples d'usage

Concours de pétanque du 14 juillet — page d'inscription d'un club bouliste — Mercury Drops exemple 1

① Concours de pétanque du 14 juillet — page d'inscription d'un club bouliste

QuandTitre « Concours en doublettes — 14 h, boulodrome du stade » ; sous le titre, trois boules chromées et le cochonnet rebondissent tour à tour sur le sable ; en dessous, l'heure des inscriptions, le prix par joueur, les lots et le bouton d'inscription.
PourquoiLe chrome et l'écrasement au contact du sol font des boules d'acier qui rebondissent, pas des gouttes qui fusionnent ; la vague décalée rappelle les boules lancées l'une après l'autre.
RéglagesRacine sans fond posée sur un ciel et un terrain de sable dessinés en CSS ; sphères alignées sur le sol (align-items: flex-end), écart de 34 px ; trois boules à 66 px, la quatrième réduite à 24 px et teintée bois (radial-gradient ocre) pour le cochonnet ; ombre floue au sol sous la rangée.
Gamme de billes en acier inoxydable — catalogue d'un fabricant de roulements — Mercury Drops exemple 2

② Gamme de billes en acier inoxydable — catalogue d'un fabricant de roulements

QuandEn-tête de la gamme : quatre diamètres (6, 8, 10 et 12 mm) représentés par des sphères de tailles croissantes qui rebondissent l'une après l'autre au-dessus de leur référence.
PourquoiLes tailles différentes sont déjà dans le code : il suffit de les ordonner pour figurer la gamme, et le rebond élastique dit la dureté de l'acier. Le gris métal tient aussi sur un fond clair de catalogue.
RéglagesConteneur passé en grille de quatre colonnes (display: grid), sphères alignées sur un trait de sol ; tailles 40, 53, 66 et 80 px, proportionnelles aux diamètres ; fond de papier millimétré clair, étiquettes Ø et références dans la même grille.
Collection « Gouttes » en argent poli — page de collection d'un orfèvre — Mercury Drops exemple 3

③ Collection « Gouttes » en argent poli — page de collection d'un orfèvre

QuandBandeau de la collection : quatre perles argentées sautillent au-dessus du nom de la collection et de la mention « argent 925 · poli miroir », avec les trois pièces et leurs prix en dessous.
PourquoiLe reflet blanc et les ombres internes donnent le poli du métal ; le rebond décalé donne de la légèreté à des bijoux que la photo montre immobiles.
RéglagesFond bleu nuit en dégradé radial ; perles de 46, 60, 46 et 38 px posées sur une ligne fine ; écart de 26 px ; titre en Georgia de 36 px, sans graisse, espacement large.

Comment ça marche

Le conteneur .mercury-container remplit la racine .fx-0397-root (300 px de haut, dégradé bleu nuit #1a1a2e → #0f0f1a) et aligne quatre .mercury-drop au centre, espacées de 20 px. Chaque sphère est un simple div rond ; le métal tient en trois couches. Un dégradé linéaire à 135° va du gris très clair #e8e8e8 au presque noir #2a2a2a en passant par #a0a0a0 et #4a4a4a : la lumière vient d'en haut à gauche. Deux ombres internes creusent le volume (noire à 50 % en bas à droite, blanche à 30 % en haut à gauche) et une ombre portée de 30 px pose la sphère. Enfin le pseudo-élément ::before, un dégradé radial blanc à 80 % de 30 % de la taille, placé à 10 % du haut et 15 % de la gauche, fait le reflet net qui dit « poli ».

Le rebond est une seule animation, mercuryBounce, de 2 s en ease-in-out. À 30 % de la boucle, la sphère est 30 px plus haut, étirée (×0,9 en largeur, ×1,1 en hauteur) ; à 50 %, elle touche le sol écrasée (×1,1 / ×0,9) ; à 70 %, elle rebondit de 15 px, encore un peu étirée ; elle se pose ensuite jusqu'à la boucle suivante. Les quatre sphères ont des tailles différentes (60, 80, 60 et 50 px) et partent avec 0, 0,2, 0,4 et 0,6 s de retard : la vague court de gauche à droite. L'écrasement se fait autour du centre de la sphère, pas de son point de contact : au sol, le bas de la sphère remonte de quelques pixels au lieu de s'aplatir contre lui.

Seule la propriété transform est animée : le navigateur confie le mouvement au compositeur et ne repeint ni les dégradés ni les ombres. Mesuré dans Chromium 151 sur 3 s d'animation : 0 ms de peinture et de rastérisation, 0,42 ms de composition par image. Le comportement est le même dans Firefox 153 et WebKit 26 (7 % des pixels du cadre changent en 500 ms dans les trois). Le conteneur s'étire sur toute la hauteur de la racine (align-self: stretch) : son dégradé couvre le cadre entier.

Accessibilité

  • Mouvement réduit : sous prefers-reduced-motion: reduce, un bloc limité à .fx-0397-root retire l'animation : les quatre sphères restent posées côte à côte, avec leurs reflets et leurs ombres. Mesuré : 0 % des pixels changent en 500 ms dans Chromium, Firefox et WebKit.
  • Contenu décoratif : les sphères sont des div vides, sans texte ni rôle, ignorées par les lecteurs d'écran. Si elles représentent quelque chose (quatre diamètres, quatre bijoux), écrivez-le sous elles, comme les étiquettes des scènes ci-dessus.
  • Contraste : le haut éclairé de la sphère (#e8e8e8) mesure 13,9:1 sur le fond #1a1a2e et porte la forme ; le bas, presque noir (#2a2a2a), se fond dans le fond (1,2:1), c'est voulu pour l'effet de volume. Sur un fond clair, c'est l'inverse : le bas sombre dessine le contour.
  • Rythme : une boucle de 2 s, sans clignotement ; le saut le plus haut fait 30 px.

Compatibilité navigateur

CSS pur : dégradés linéaire et radial, box-shadow intérieures et extérieure, animation de transform, pseudo-élément ::before. Zéro JavaScript, aucune dépendance. Mesuré dans Chromium 151, Firefox 153 et WebKit 26 : même rebond, même vague, même arrêt sous mouvement réduit ; animation confiée au compositeur (0 ms de peinture mesurée dans Chromium).

Chrome 43+✓ Complet
Firefox 16+✓ Complet
Safari 9+✓ Complet
Edge 12+✓ Complet
Mobile iOS 9+✓ Complet
Android Chrome✓ Complet

Sans animations CSS, les quatre sphères restent posées en ligne, avec leurs reflets : l'image métallique tient sans le mouvement.

Le code

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

index.html — structure
<div class="fx-0397-root">
  <div class="mercury-container">
    <div class="mercury-drop"></div> … (4 sphères)
  </div>
</div>

Paiement unique, sans abonnement — le code est à toi pour toujours

Personnaliser

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

Option / propriétéDéfautEffet
Tailles (CSS — .mercury-drop et :nth-child(2), :nth-child(4)) 60, 80, 60, 50 px Chaque sphère peut avoir sa taille ; le reflet et les ombres internes suivent (ils sont en pourcentages ou flous assez larges). Sous 30 px, réduisez les ombres internes (20px → 10px) pour garder le volume.
Métal (CSS — linear-gradient(135deg, #e8e8e8 0, #a0a0a0 30%, #4a4a4a 70%, #2a2a2a 100%)) acier poli Or : #fff4c2, #e0b84a, #8a6418, #4a3308. Cuivre : #ffd2b8, #d0805a, #7a3a22, #3d1a0e. Gardez l'ordre clair → sombre pour la lumière en haut à gauche.
Hauteur du saut (CSS — -30px et -15px de mercuryBounce) 30 px, rebond de 15 px Doublez les deux pour des balles plus vives ; gardez le rebond à la moitié du saut pour que la chute paraisse amortie. Laissez de la place au-dessus : le saut sort du conteneur s'il est trop bas.
Écrasement (CSS — scaleX(1.1) scaleY(.9) à 50 %) ±10 % ±20 % pour une balle molle, ±4 % pour du métal très dur. Ajoutez transform-origin: 50% 100% sur .mercury-drop pour que l'écrasement parte du sol plutôt que du centre.
Vague (CSS — animation-delay 0 / .2 / .4 / .6 s, durée 2s) 0,2 s d'écart, boucle de 2 s Des écarts de 0,5 s donnent des boules lancées l'une après l'autre ; 0 s, un saut à l'unisson.
Fond et espacement (CSS — .mercury-container) #1a1a2e → #0f0f1a, écart de 20 px, sphères centrées align-items: flex-end pose les sphères au bas du conteneur, sur un sol ; background: none les met sur votre propre fond.

FAQ

Ni l'un ni l'autre. Les sphères ne fusionnent pas et ne coulent pas : ce sont des disques peints d'un dégradé à 135°, creusés par deux ombres internes et marqués d'un reflet blanc. Le volume est une illusion d'éclairage, sans perspective ni transformation 3D. Pour des gouttes qui se soudent, voyez Liquid Morph (fx-0408) ou Metaballs (fx-0391).
Le scale part par défaut du centre de l'élément : en s'écrasant de 10 %, la sphère perd de la hauteur en haut et en bas, son point le plus bas remonte de quelques pixels. Ajoutez transform-origin: 50% 100% à .mercury-drop : l'écrasement part alors du point de contact et la sphère reste collée au sol.
Non. Seul transform bouge : le navigateur garde les dégradés et les ombres déjà peints et se contente de les déplacer. Mesuré dans Chromium sur 3 s : aucune peinture, aucune rastérisation, 0,42 ms de composition par image. N'animez pas box-shadow ou width à la place : ce sont eux qui obligeraient à repeindre.