← La bibliothèque

Pixel button

Bouton à faisceau tournant et trame de pixels

Gratuit

Ce qui est inclus

Un bouton pilule noir cerné d’un faisceau vert qui tourne, et qui allume au survol une trame de 495 petits carrés : ils grandissent depuis le centre, scintillent, puis se dissolvent quand le pointeur s’en va. Deux fichiers plus la police — aucune dépendance, aucune étape de build, aucune requête externe.

Le composant ne fabrique aucun élément : il enrichit le <button> ou le <a> qu’il trouve, et lui ajoute une seule chose, le canevas de la trame. Le reste — la pilule, le contour, le faisceau, son élargissement au survol, le halo, le contour du texte — tient entièrement dans la feuille de style.

Fonctionnalités

  • Complet sans JavaScript — sans le script, il ne manque que la trame. Le faisceau tourne, le halo s’allume, le bouton reste un bouton.
  • Le clavier voit la même choseTab déclenche le faisceau, le halo et la trame, et dessine un anneau de focus. Le modèle d’origine ne réagissait qu’à la souris.
  • Une onde au clic — un anneau traverse la trame depuis le point cliqué et fait enfler les carrés sur son passage, pendant que la trame s’éclaircit.
  • Une variable pour l’échelle — marge intérieure, arrondi, halo et contour du texte dérivent tous de la taille du texte et suivent ensemble.
  • Deux modes — la trame répond au survol, ou scintille en permanence avec data-pixel-button="always".
  • Cinq habillages — vert, rouge, ambre, magenta, et une version pour fond clair. Chacun n’est qu’une poignée de variables.

Le poser dans une page

Deux fichiers à charger, puis le balisage habituel :

<link rel="stylesheet" href="pixel-button.css">
<script src="pixel-button.js" defer></script>

<button class="pixel-button" type="button" data-pixel-button>
  <span class="pixel-button__label">Get unlimited access</span>
</button>

L’attribut data-pixel-button suffit : le composant s’installe au chargement de la page. Le <span> n’est pas décoratif — il porte le contour du texte et le plan au-dessus de la trame. Copiez aussi le fichier de police à côté du CSS : la largeur du bouton en dépend directement.

Ce qu’il faut savoir

  • La trame ne grossit pas avec le bouton. Doubler la taille du texte ajoute des carrés au lieu de les agrandir — c’est le comportement du modèle, et c’est le bon : une trame agrandie n’est plus une trame. Deux variables permettent l’inverse si vous le préférez.
  • Le mode permanent occupe une trame d’animation. Il est fait pour le bouton principal d’une page, pas pour une grille de dix. Au repos, en mode survol, le composant ne consomme rien : la boucle s’arrête d’elle-même.
  • Aucun style ni script en ligne. Le composant respecte la politique de sécurité stricte du site et n’utilise jamais innerHTML — vérifié en servant le dossier en HTTP avec l’en-tête, pas supposé.
  • Le dessin vient d’ailleurs. Les proportions et les lois d’animation reprennent celles d’un composant de code Framer, relevées sur la page d’origine : géométrie à 0,000 px d’écart, largeur du texte à 144,000 px contre 144. Le détail des mesures et des huit écarts assumés est dans le README.md.

Prends-le, ouvre-le, casse-le.

Ce composant est gratuit. La bibliothèque complète — les templates et les autres composants — est incluse dans l’abonnement, avec la formation.

Accès immédiat · Sans engagement · Annulation en 1 clic