Carte sombre à fines rayures sur laquelle un reflet arc-en-ciel apparaît et glisse en boucle au survol, au focus ou au toucher. CSS seul.
CSSHoverPremium
Mis à jour le
HOLO CARD
Survolez ou cliquez la scène pour interagir
Cet effet est gratuit — la catégorie Distorsion en contient 31 au total, dont 5 gratuits. Effect.Labs regroupe 840 effets vanilla. Découvrir la catégorie →
Survolez ou touchez la carte : le reflet qui bouge montre au personnel qu'elle est active, pas une capture d'écran.
Avec votre carte
Prêts à la bibliothèque3 sur 10
Solde restaurant12,40 €
Accès aux salles7 h – 22 h
① Carte étudiante dématérialisée dans l'appli d'une université (Valcérin)
QuandDans l'onglet « Ma carte », l'étudiante présente son téléphone à la bibliothèque ou au restaurant ; en touchant la carte, le reflet se met à glisser sur la photo, le nom et le QR code.
PourquoiUn reflet qui bouge ne passe pas sur une capture d'écran : le personnel voit d'un coup d'œil que la carte est affichée en direct.
Réglages--hlc-w: 266px, --hlc-h: 170px, dégradé de fond violet (--hlc-c1: #1f2150, --hlc-c2: #3b2f6b), fond de racine transparent ; la carte est mise en colonne par le CSS de la page pour recevoir photo, nom et QR code.
Livre-jeu · Tome I
Les Chroniques d'Ombrevaine
Édition collector
Édition collector numérotée
Vous êtes le héros, de nuit
400 paragraphes numérotés, une carte de la ville à déplier et deux dés en métal. Couverture en film holographique, tirée une seule fois.
Plus que 37 exemplaires sur 500
49 €
② Couverture d'un livre-jeu en édition collector (Ombrevaine)
QuandSur la page de précommande, la grande couverture s'irise dès que la souris passe dessus, à côté du résumé, du stock restant et du bouton « Précommander ».
PourquoiLa couverture réelle est imprimée sur film holographique : le reflet montre en ligne ce que l'acheteur aura entre les mains.
RéglagesCouverture de 196 × 282 px, coins 6px 14px 14px 6px comme un dos de livre, teintes #2b1d47 → #0f1830, contour de focus doré #e9c46a.
Commande · étape 2 sur 3
Comment emballer votre cadeau ?
Sous-total :64,00 €
③ Option « papier holographique » dans le choix de l'emballage cadeau
QuandÀ l'étape 2 d'une commande, trois cartes radio proposent l'emballage ; seule l'option holographique scintille quand on la survole ou qu'on la sélectionne au clavier.
PourquoiL'effet sert d'échantillon : il donne une idée de la matière du papier, là où une simple vignette de couleur ne dirait rien.
RéglagesLa carte est un <label> qui contient le bouton radio (sans tabindex, c'est le focus du radio qui allume le reflet), 152 × 184 px, coins de 14 px.
Comment ça marche
La carte .hlc-card (280 × 180 px) a un fond en dégradé bleu nuit et deux calques posés par-dessus son contenu. Le pseudo-élément ::after trace des rayures horizontales très légères (blanc à 3 %, une ligne sur deux de 2 px). Le pseudo-élément ::before porte un dégradé à 125° rose, cyan, jaune, vert et violet, deux fois plus grand que la carte, invisible au repos.
Au survol, ou quand la carte (ou un élément à l'intérieur) reçoit le focus, ce calque apparaît en 0,3 s et l'animation hlcShift le fait glisser en diagonale en 3 secondes, en boucle. Il est mélangé en mix-blend-mode: color-dodge : les couleurs éclaircissent ce qui est dessous, comme un film holographique qui accroche la lumière.
Tout ce que vous mettez dans la carte passe sous le reflet, à condition de ne pas lui donner de position : un enfant positionné passerait au-dessus des calques et ne serait pas irisé.
Accessibilité
Clavier : la carte porte tabindex="0" ; le focus allume le reflet et affiche un contour (--hlc-ring) quand il vient du clavier. Si la carte contient un lien ou un bouton, retirez le tabindex : le reflet s'allume aussi quand cet élément a le focus (:focus-within).
Toucher : toucher la carte lui donne le focus, ce qui allume le reflet, y compris dans WebKit où le survol ne se déclenche pas au doigt (mesuré). Il s'éteint quand on touche ailleurs.
Mouvement réduit : avec prefers-reduced-motion: reduce, le reflet apparaît toujours mais reste immobile, au milieu de son dégradé.
Contraste : le color-dodge éclaircit fortement le texte et le fond quand le reflet est allumé, plus encore dans Safari (mesuré dans WebKit). Gardez un texte blanc et gras sur la carte, et vérifiez sa lisibilité reflet allumé.
Rien de caché : le reflet est un décor ; il n'apporte aucune information et n'en cache aucune.
Compatibilité navigateur
CSS seul, aucun JavaScript. Mesuré dans Chromium 151, Firefox 153 et le WebKit 26.5 de Playwright : 0 erreur, deux copies indépendantes, survol, Tab, toucher, 390 px et mouvement réduit. Dans WebKit, le color-dodge donne des couleurs nettement plus vives et saturées que dans Chromium et Firefox. Versions minimales d'après @mdn/browser-compat-data : la propriété inset des calques fixe le plancher (Chrome 87, Firefox 66, Safari 14.1).
Chrome 87+✓ Complet (mesuré)
Firefox 66+✓ Complet (mesuré)
Safari 14.1+✓ Complet, reflet plus vif (mesuré dans le WebKit de Playwright)
Edge 87+✓ Complet (moteur Chromium)
Safari iOS 14.5+✓ Complet, reflet au toucher par le focus (mesuré dans WebKit tactile)
Chrome Android 87+✓ Complet (moteur Chromium)
Sans inset, remplacez-le par top:0; right:0; bottom:0; left:0 sur les deux pseudo-éléments. Sans :focus-visible (avant Safari 15.4), le contour de focus ne s'affiche pas mais le reflet s'allume quand même au focus.
Le code
Copiez les deux blocs (HTML et CSS) dans votre page. Aucun JavaScript, aucune dépendance.
Taille de la carte ; la largeur ne dépasse jamais celle du conteneur.
--hlc-c1 et --hlc-c2
#1a1a2e et #16213e
Les deux couleurs du fond en dégradé (la première sert aussi de couleur unie de secours). Sur un fond clair, le color-dodge blanchit presque tout : gardez des teintes sombres.
--hlc-speed
3s
Durée d'un passage du reflet.
--hlc-radius
16px
Arrondi des coins ; accepte quatre valeurs (par exemple un dos de livre).
--hlc-font
1.25rem
Taille du texte de la carte.
--hlc-ring
#0ff
Couleur du contour au focus clavier.
--hlc-bg et --hlc-min-h
#0a0a0f et 280px
Fond et hauteur minimale de la racine ; transparent et 0 pour poser la carte dans votre page.
FAQ
Pourquoi mon bouton placé dans la carte n'est-il pas irisé ?
Il a sans doute une position (relative, absolute) : un enfant positionné passe au-dessus des pseudo-éléments. Retirez-la, ou acceptez que ce bouton reste hors du reflet, ce qui peut aussi aider à le lire.
Le reflet peut-il suivre la souris ?
Non : il glisse toujours en diagonale, au même rythme, quelle que soit la position du pointeur. Suivre la souris demanderait du JavaScript, que cet effet n'utilise pas.
Puis-je laisser le reflet allumé en permanence ?
Ajoutez une classe à la carte et reprenez pour elle la règle d'état actif : .fx-0261-root .hlc-card.is-on::before { opacity: 1; animation: hlcShift var(--hlc-speed) linear infinite }.