Texte✨ Premium

Wonky Headlines

Police Fraunces animée en CSS pur — les 4 axes WONK, SOFT, opsz et wght transitionnent entre style display expressif et texte lisible.

CSSFrauncesWonk

Vous aurez accès à la démo interactive avec un compte gratuit.

Cet effet fait partie d'Effect.Labs — 811 effets vanilla, une partie gratuite, une partie premium. Texte comprend 56 effets, dont 4 gratuits. Découvrir la catégorie →

3 exemples d'usage

Une de magazine numérique — Grand titre animé — Wonky Headlines exemple 1

① Une de magazine numérique — Grand titre animé

QuandLa page d'accueil d'un média en ligne ou d'un portfolio éditorial charge : le grand titre Fraunces ondule entre son état display exagéré et son état texte mesuré pour signaler que la publication est vivante.
PourquoiL'axe WONK exagère les courbes du serif uniquement à grande taille optique (opsz 144) — invisible à 12 pt, spectaculaire à 80–120 px. Une bannière pleine largeur est la surface idéale pour que l'effet révèle toute son amplitude.
Réglagesfont-size 4–6 rem, animation-duration 5 s pour une respiration lente, wght 900 → 300 pour maximiser le contraste de graisse.
Hero studio créatif — Nom de marque en mouvement — Wonky Headlines exemple 2

② Hero studio créatif — Nom de marque en mouvement

QuandUn studio de design, une agence ou un typographe présente son nom ou son slogan en hero plein écran : le titre s'anime en boucle pour affirmer l'identité visuelle.
PourquoiLa transition WONK 1 → 0 évoque la tension entre esquisse et maîtrise — une métaphore visuelle du processus créatif. La police est perçue comme du caractère, pas comme un gadget.
Réglagesfont-size 4–6 rem, couleur brand (ex. #e8d5b0 ivoire), animation-duration 3,5 s, retrait de .vf-wonky-text--alt pour un rendu épuré mono-ligne.
Page d'auteur — Nom en vitrine expressive — Wonky Headlines exemple 3

③ Page d'auteur — Nom en vitrine expressive

QuandL'accueil du site d'un auteur, artiste ou conférencier se charge : le nom en grand format anime en boucle entre son état display exagéré (WONK 1, wght 900) et son état texte mesuré (WONK 0, wght 300), jouant sur la personnalité de la personne autant que sur la lisibilité.
PourquoiLes axes WONK et SOFT donnent à Fraunces une expressivité organique qui évoque l'écriture manuelle et la signature — précisément ce qu'une page personnelle doit projeter. À 4–5 rem, l'oscillation de graisse 900 → 300 se lit comme un mouvement de respiration, pas comme un bug. Le sous-titre figé en .vf-wonky-text--alt ancre la lecture sans rivaliser avec le nom.
Réglagesfont-size 4–5 rem, couleur ivoire #f0ebe0 ou couleur signature de l'auteur, animation-duration 5 s pour une respiration lente, sous-titre .vf-wonky-text--alt à 0.8 rem (WONK 0, wght 300).

Comment ça marche

L'effet repose sur la police variable Fraunces et son axe expérimental WONK (0 = tracé classique, 1 = courbes exagérées rappelant l'encre fraîche) couplé à SOFT (ouverture des contrepoinçons, 0–100). Ces deux axes d'auteur, exclusifs à Fraunces, confèrent au caractère une personnalité typographique entièrement pilotable en CSS.

L'animation @keyframes vfWonky fait osciller simultanément les 4 valeurs de font-variation-settings : de "WONK" 1, "SOFT" 100, "opsz" 144, "wght" 900 (display lourd, grande taille optique) à "WONK" 0, "SOFT" 0, "opsz" 9, "wght" 300 (texte léger, petite taille optique) et retour. La courbe ease-in-out sur 4 s crée une respiration typographique continue plutôt qu'un saut abrupt entre deux états.

Deux modificateurs CSS séparent les rôles : .vf-wonky-text--anim reçoit l'animation infinite ; .vf-wonky-text--alt fige l'état texte (WONK 0, SOFT 0, opsz 9, wght 300) pour un sous-titre statique en contraste. L'effet ne contient aucune ligne de JavaScript — il est compatible avec tout générateur de sites statiques ou SSR sans hydratation côté client.

Accessibilité

  • prefers-reduced-motion absent : le code ne contient aucune media query prefers-reduced-motion. L'animation tourne en boucle même si l'OS signale une préférence réduite. Compensez dans votre feuille de style : @media (prefers-reduced-motion: reduce) { .vf-wonky-text--anim { animation: none; } }.
  • Le texte est du HTML natif (<span>) — les lecteurs d'écran le lisent normalement sans attribut ARIA supplémentaire.
  • Contraste : texte blanc #fff sur fond sombre #0a0a0f — ratio WCAG AA largement dépassé (>18:1).
  • Aucune interaction clavier ou souris (pur CSS) — aucun gestionnaire d'événements, aucune trap focus.
  • Repli police : si Fraunces échoue à charger, le fallback serif préserve la lisibilité ; font-variation-settings est ignoré silencieusement par le navigateur.

Compatibilité navigateur

Nécessite font-variation-settings (CSS Fonts Level 4) et une police variable. Fraunces est servie par Google Fonts.

Chrome 66+✓ Complet
Firefox 62+✓ Complet
Safari 11+✓ Complet
Edge 79+✓ Complet
Mobile iOS 11+✓ Complet
Android Chrome 66+✓ Complet

Sans support <code>font-variation-settings</code>, Fraunces s'affiche dans son instance statique par défaut (Regular 400) — le texte reste lisible, l'animation est ignorée sans erreur JS.

Le code

Structure HTML à coller dans votre page (CSS + JS disponibles avec un compte premium) :

index.html — structure
<div class="vf-wonky-scene">
  <!-- Titre animé : cycle display ↔ texte en boucle -->
  <span class="vf-wonky-text vf-wonky-text--anim">Votre titre</span>

  <!-- Sous-titre optionnel figé dans l'état texte (wght 300, WONK 0) -->
  <span class="vf-wonky-text vf-wonky-text--alt">Sous-titre ou label d'axe</span>
</div>
🔒 Débloquer le code complet — à partir de 2,99 € le 1er mois

HTML + CSS + JS complet, prêt à coller — avec des centaines d'effets premium.

Personnaliser

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

Option / propriétéDéfautEffet
animation-duration (.vf-wonky-text--anim) 4s Durée d'un cycle WONK→texte→WONK. Ralentissez à 6–8 s pour un effet contemplatif, accélérez à 2 s pour une présentation dynamique.
animation-timing-function (.vf-wonky-text--anim) ease-in-out Courbe de progression. linear donne une oscillation mécanique ; cubic-bezier(0.4,0,0.2,1) accentue les paliers aux extrêmes.
font-size (.vf-wonky-text) 2rem Corps du texte. L'axe opsz oscille entre 9 et 144 — plus le font-size est élevé, plus la différence visuelle entre les deux états est marquée.
color (.vf-wonky-text) #fff Couleur du texte. Appliquez votre couleur brand ou un dégradé CSS (background-clip: text) pour un rendu plus riche.
"WONK" (keyframe 0% et 100%) 1 Valeur max de l'axe Wonk. 0 = tracé standard, 1 = courbes exagérées. Réduisez à 0,5 pour une subtilité accrue.
"SOFT" (keyframe 0% et 100%) 100 Ouverture des contrepoinçons à l'état display. 0 = contrepoinçons fermés, 100 = contrepoinçons ouverts (aspect plus aéré).
"wght" (keyframe 0% et 100%) 900 Graisse à l'état display. Réduisez à 700 pour un contraste de graisse moins dramatique.
"opsz" (keyframe 50%) 9 Taille optique minimum (état texte). Augmentez à 30–40 pour un état texte moins condensé et plus lisible en sous-titre.

FAQ

Oui, l'animation est 100 % CSS : une seule règle @keyframes vfWonky et deux classes modificatrices. Il n'y a aucune ligne de JS — compatible avec tout générateur de sites statiques ou SSR sans hydratation côté client.
Oui, à condition que la police supporte au moins wght et opsz. Les axes WONK et SOFT sont propres à Fraunces — si votre police ne les expose pas, retirez-les de font-variation-settings dans le keyframe et adaptez les plages wght et opsz aux valeurs min/max déclarées par votre fonte.
Posez animation-iteration-count: 1 et animation-fill-mode: forwards sur .vf-wonky-text--anim, puis basculez animation-play-state: paused / running via un IntersectionObserver. L'effet se joue une fois quand l'élément entre dans le viewport, puis se fige dans l'état texte (wght 300, WONK 0).