Aller au contenu
Démarrer un projet
Menu

Boutons et liens

Le bouton plein, le bouton au trait, la flèche qui sort, et le lien souligné.

Deux boutons

Le bouton plein est l’action qu’on veut voir faite ; le bouton au trait est l’autre chemin. Même police, mêmes angles droits, même flèche : seule la surface change. En taille courante dans une tête ou un formulaire, petit dans une carte, une cellule ou l’en-tête.

Emploi
Un lien qui engage : « Démarrer un projet », « Voir l’offre », « Lire le cas Bosco Services », « Réserver un créneau ».
Moment
Dans une tête de section (variante ligne), sous un chapô (.tr-cta), dans une carte, en fin de section (.tr-suite), et pour envoyer le formulaire.
Jamais
Deux pleins dans le même groupe. Un montant, le mot devis ou le mot tarif dans le libellé : le vérificateur bloque. Un bouton pour un lien de lecture courante : c’est un lien souligné.
SpécimenLe plein et le trait, dans un groupe .tr-cta, tels que l’ouverture de l’accueil les pose.
Appelsrc/components/trame/Bouton.astro
<div class="tr-cta">
  <Bouton href="/contact/">{ V3.cta }</Bouton>
  <Bouton href="/offres/" variante="trait">{ V3.ouverture.boutonOffres }</Bouton>
</div>
SpécimenLes petits : le plein de l’en-tête, le trait des cartes d’offre et du mur de citations.
Appelsrc/components/trame/Bouton.astro
<Bouton href="/contact/" petit>{ V3.cta }</Bouton>
<Bouton href="/offres/site-internet/" variante="trait" petit>{ V3.offres.bouton }</Bouton>
ClasseZoneValeur
.tr .btnle boutonInter 600 12,5 px, capitales, .11em, chiffres de tableau ; padding 15/20 px ; gap 12 px
.btnle pleinfond var(--ink), texte var(--surface), bord 1 px var(--ink)
.btn--traitle traitfond var(--surface), texte var(--ink), bord var(--line) ; bord var(--ink) au survol
.btn--smle petitpadding 11/14 px, 11,5 px
.btn::beforela couche qui montetranslateY(100 %) puis 0 au survol, en 236 ms var(--ease) ; var(--grinn-deep) sous le plein, var(--pale) sous le trait
.btn:hoverle survol du pleinbord var(--grinn-deep) ; sans transition en mouvement réduit
.tr-ctale groupeflex, gap 12/14 px, margin-top 30 px ; sous 480 px le libellé passe à la ligne, padding-block 13 px
:focus-visiblele focuscontour 2 px var(--grinn-deep), décalé de 3 px
.tr-cc__appel-btnle plein sur l’encrela cellule d’appel de la page Réalisations : fond et bord var(--grinn), texte var(--ink) ; la couche qui monte est blanche et le bord passe au blanc ; contour de focus var(--grinn)
.tr-fiche__liens .btnles boutons de la fiche d’un caspetits, pleine largeur, la flèche au bout : le site ou les stores au trait, dans un nouvel onglet, puis le plein du contact

La flèche qui sort

Chaque bouton finit par ↗ : le lien mène quelque part. La flèche est décorative, les lecteurs d’écran ne la lisent pas. Au survol, elle part de trois pixels vers le haut et la droite. Quand le lien sort du site, le bouton l’annonce.

SpécimenLe lien qui sort : nouvel onglet, et la mention lue par les lecteurs d’écran.
Appelsrc/components/trame/Bouton.astro
<Bouton href="https://hepixgroup.com" variante="trait" externe>hepixgroup.com</Bouton>
ClasseZoneValeur
.arla flèche↗ dans un span aria-hidden ; transition transform 380 ms var(--ease)
.btn:hover .arau survoltranslate(3px, -3px)
externele lien qui sorttarget _blank, rel noopener, et « (nouvel onglet) » en texte masqué (.sr-only) après le libellé
labelle nom accessiblearia-label quand le libellé visible ne suffit pas : « Voir l’offre Site internet » sur une carte
.tr-cta .btn .arsous 360 pxmasquée, pour que le libellé tienne sur une ligne
À faire
Un plein et un trait : l’œil sait quoi faire d’abord, et la flèche dit que les deux mènent quelque part.
À éviter
Deux pleins côte à côte : deux actions de même poids, aucune ne l’emporte.

Le lien dans le texte

Dans un paragraphe, le lien est à l’encre, souligné d’un trait vert profond qui s’épaissit au survol. Dans une carte de réalisation, c’est la carte entière qui est le lien.

L’IA, l’application mobile et le logiciel métier peuvent entrer dans le Crédit Impôt Innovation. Le site vitrine et la boutique standard n’y entrent pas. Comment ça marche

SpécimenUn paragraphe de prose avec son lien : la note du Crédit Impôt Innovation, sous la grille de la page Offres.
Appelsrc/components/trame/Prose.astro
<Prose>
  <p>{ V3.offres.cii } <a href="/credit-impot-innovation/">{ V3.offres.ciiLien }</a></p>
</Prose>
ClasseZoneValeur
.tr-prose ale lien courantvar(--ink), souligné 1 px var(--grinn-deep), décalé de .22em ; 2 px au survol
.tr-note .lkle lien d’une notemême soulignement de 1 px ; le trait animé du .lk courant est retiré ; pas d’épaississement au survol
.tr-cel--note .lkdans une cellule de notemême soulignement ; 2 px au survol
.tr-cas__lien::afterla carte de réalisationinset 0 : toute la cellule est le lien ; la cellule pâlit au survol et la flèche part
.tr-cas__it h3 a:hoverle nom du clientsouligné var(--grinn-deep), décalé de .18em
a.tr-cc__corps, a.tr-suivantune carte de la page Réalisations, le cas suivant d’une page de casle lien est la carte entière ; le « Lire le cas » qu’elle porte n’est qu’un dessin (span.btn.btn--trait.btn--sm), car un lien n’en contient pas un autre ; au survol, la carte pâlit et la flèche part
.tr-fiche dd al’offre, dans la fiche d’un cassouligné 1 px var(--grinn-deep), 2 px au survol ; toute sa ligne de fiche est cliquable
.tr-fil a, .tr-rail ales liens de navigationvoir Étiquettes et annotations, et Page à rail

Le bouton d’en-tête

Dans l’en-tête, un seul bouton, petit et plein, qui dit la même chose que l’ouverture : « Démarrer un projet ». Sous 480 px il prend le libellé court, « Démarrer » ; sous 380 px il se resserre et perd sa flèche ; sous 360 px et sous 340 px il se resserre encore.

SpécimenLe bouton de l’en-tête, tel que EnTete.astro l’écrit, avec le libellé V3.cta. Posé ici, dans la trame, il prend la hauteur minimale de .tr .btn--sm ; dans l’en-tête, hors de .tr, il fait 35,5 px.
Appelsrc/components/trame/EnTete.astro
<a class="btn btn--sm" href="/contact/">{ V3.cta } <span class="ar" aria-hidden="true">↗</span></a>
ClasseZoneValeur
.tr-hdr .btn--smle bouton d’en-tête11,5 px, .11em, capitales, chiffres de tableau ; padding 11/20 px, celui de .btn--sm : l’en-tête est hors de .tr, et la règle .tr .btn--sm (padding 11/14 px, 44 px de haut au moins) ne le touche pas ; 35,5 px de haut
sous 480 pxle libellé court.hdr__cta-long masqué, .hdr__cta-court affiché : « Démarrer »
sous 380 pxécran étroitpadding-inline 12 px, 11 px, .08em ; la flèche disparaît
sous 360 pxplus étroitpadding-block 10 px (.hdr .btn--sm) : 33 px de haut
sous 340 pxplus étroit encorepadding-inline 8 px, .06em
V3.ctale libelléle même que le bouton plein de l’ouverture et du formulaire : tout le site dit la même chose que sa première page

RègleUn seul bouton plein par groupe, une flèche sur chacun, et jamais d’argent dans un libellé.