Button Component
CSS-only Tailwind CSS button with primary, secondary, accent, ghost, outline, and soft variants. Sizes xs–xl, loading state, disabled, and icon buttons. CSS-only, WCAG AA, works with Django, HTMX, Laravel, React.
Les composants de bouton sont des éléments interactifs qui déclenchent des actions ou orientent les utilisateurs vers de nouvelles pages. Le système de boutons Frutjam propose plusieurs tailles, couleurs et styles via des classes de modificateurs, tous construits avec l'approche utilitaire Tailwind CSS pour des boutons légers et hautement personnalisables qui fonctionnent de manière transparente dans tous les frameworks et projets.
CSS uniquement, aucun JavaScript requis. WCAG AA accessible et indépendant du framework – fonctionne avec Django, HTMX, Laravel, React et n'importe quelle pile.
| Classe | Taper | Description |
|---|---|---|
| btn | Base | Élément de bouton stylisé |
| btn-outline | Style | Remplissage transparent avec bordure colorée |
| btn-soft | Style | Fond teinté en sourdine |
| btn-ghost | Style | Arrière-plan subtil visible uniquement au survol |
| btn-dashed | Style | Style de bordure en pointillés |
| btn-plain | Style | Pas de fond ni de bordure, texte uniquement |
| btn-link | Style | Stylisé comme un lien hypertexte textuel |
| btn-pill | Style | Forme de pilule entièrement arrondie |
| btn-rounded | Style | Arrondi modéré |
| btn-circle | Style | Cercle de largeur égale pour les boutons d'icônes |
| btn-square | Style | Forme carrée sans arrondi |
| btn-block | Modificateur | Bouton de bloc pleine largeur |
| btn-wide | Modificateur | Plus large que par défaut avec un rembourrage horizontal supplémentaire |
| btn-active | Modificateur | Force l'état visuel actif/appuyé |
| btn-disabled | Modificateur | Apparence désactivée pour les éléments autres que des boutons |
| btn-xs | Taille | Très petit |
| btn-sm | Taille | Petit |
| btn-md | Taille | Moyen (par défaut) |
| btn-lg | Taille | Grand |
| btn-xl | Taille | Très grand |
| btn-2xl | Taille | 2× très grand |
| btn-primary | Couleur | Couleur du thème principal |
| btn-secondary | Couleur | Couleur du thème secondaire |
| btn-accent | Couleur | Couleur du thème d'accentuation |
| btn-neutral | Couleur | Couleur du thème neutre |
| btn-info | Couleur | Couleur sémantique de l'information |
| btn-success | Couleur | Couleur sémantique du succès |
| btn-warning | Couleur | Couleur sémantique d’avertissement |
| btn-error | Couleur | Couleur sémantique des erreurs |
Utilisation de base
<button class="btn">Button</button> |
<button className="btn">Button</button> |
Tailles des boutons
1 2 3 4 5 6 | <button class="btn btn-xs">Xsmall</button> <button class="btn btn-sm">Small</button> <button class="btn btn-md">Medium</button> <button class="btn btn-lg">Large</button> <button class="btn btn-xl">Xlarge</button> <button class="btn btn-2xl">2XLarge</button> |
Couleurs des boutons
1 2 3 4 5 6 7 8 9 | <button class="btn">Default</button> <button class="btn btn-primary">Primary</button> <button class="btn btn-secondary">Secondary</button> <button class="btn btn-accent">Accent</button> <button class="btn btn-info">Info</button> <button class="btn btn-success">Success</button> <button class="btn btn-warning">Warning</button> <button class="btn btn-error">Error</button> <button class="btn btn-neutral">Neutral</button> |
Styles de boutons
Boutons souples
1 2 3 4 5 6 7 8 9 | <button class="btn btn-soft">Default</button> <button class="btn btn-primary btn-soft">Primary</button> <button class="btn btn-secondary btn-soft">Secondary</button> <button class="btn btn-accent btn-soft">Accent</button> <button class="btn btn-info btn-soft">Info</button> <button class="btn btn-success btn-soft">Success</button> <button class="btn btn-warning btn-soft">Warning</button> <button class="btn btn-error btn-soft">Error</button> <button class="btn btn-neutral btn-soft">Neutral</button> |
Boutons en pointillés
1 2 3 4 5 6 7 8 9 | <button class="btn btn-dashed">Default</button> <button class="btn btn-dashed btn-primary">Primary</button> <button class="btn btn-dashed btn-secondary">Secondary</button> <button class="btn btn-dashed btn-accent">Accent</button> <button class="btn btn-dashed btn-info">Info</button> <button class="btn btn-dashed btn-success">Success</button> <button class="btn btn-dashed btn-warning">Warning</button> <button class="btn btn-dashed btn-error">Error</button> <button class="btn btn-dashed btn-neutral">Neutral</button> |
Boutons de contour
1 2 3 4 5 6 7 8 9 | <button class="btn btn-outline">Default</button> <button class="btn btn-outline btn-primary">Primary</button> <button class="btn btn-outline btn-secondary">Secondary</button> <button class="btn btn-outline btn-accent">Accent</button> <button class="btn btn-outline btn-info">Info</button> <button class="btn btn-outline btn-success">Success</button> <button class="btn btn-outline btn-warning">Warning</button> <button class="btn btn-outline btn-error">Error</button> <button class="btn btn-outline btn-neutral">Neutral</button> |
Boutons fantômes
1 2 3 4 5 6 7 8 9 | <button class="btn-ghost btn">Default</button> <button class="btn btn-ghost btn-primary">Primary</button> <button class="btn btn-ghost btn-secondary">Secondary</button> <button class="btn btn-ghost btn-accent">Accent</button> <button class="btn btn-ghost btn-info">Info</button> <button class="btn btn-ghost btn-success">Success</button> <button class="btn btn-ghost btn-warning">Warning</button> <button class="btn btn-ghost btn-error">Error</button> <button class="btn btn-ghost btn-neutral">Neutral</button> |
Boutons de lien
1 2 3 4 5 6 7 8 9 | <button class="btn btn-link">Default</button> <button class="btn btn-primary btn-link">Primary</button> <button class="btn btn-secondary btn-link">Secondary</button> <button class="btn btn-accent btn-link">Accent</button> <button class="btn btn-info btn-link">Info</button> <button class="btn btn-success btn-link">Success</button> <button class="btn btn-warning btn-link">Warning</button> <button class="btn btn-error btn-link">Error</button> <button class="btn btn-neutral btn-link">Neutral</button> |
Formes de boutons
Bouton Cercle
1 2 3 | <button class="btn btn-circle"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 8l16 0" /><path d="M4 16l16 0" /></svg> </button> |
Bouton arrondi
1 2 3 4 5 | <button class="btn btn-error btn-rounded" aria-label="Remove from favorites"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor" width="18" height="18"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"></path> </svg> </button> |
Bouton carré
1 2 3 4 5 | <button class="btn btn-primary btn-square" aria-label="Add to favorites"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor" width="18" height="18"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"></path> </svg> </button> |
Bouton pilule
1 2 3 | <button class="btn btn-primary btn-pill"> Pill button </button> |
États des boutons
Boutons actifs
1 2 3 4 5 6 7 8 9 | <button class="btn btn-active">Default</button> <button class="btn btn-primary btn-active">Primary</button> <button class="btn btn-secondary btn-active">Secondary</button> <button class="btn btn-accent btn-active">Accent</button> <button class="btn btn-info btn-active">Info</button> <button class="btn btn-success btn-active">Success</button> <button class="btn btn-warning btn-active">Warning</button> <button class="btn btn-error btn-active">Error</button> <button class="btn btn-neutral btn-active">Neutral</button> |
Bouton désactivé
1 2 3 4 | <button type="button" class="btn btn-primary" disabled="disabled">Disabled using attribute</button> <button type="button" class="btn btn-primary btn-disabled" tabindex="-1" role="button" aria-disabled="true"> Disabled using class name </button> |
Largeurs des boutons
Bouton large
<button class="btn btn-primary btn-wide">Wide</button> |
Bouton Bloquer
<button class="btn btn-primary btn-block">Block</button> |
Flexibilité des balises de bouton
1 2 3 4 5 6 7 | <input type="button" value="Input" class="btn btn-primary"> <input type="submit" value="Submit" class="btn btn-primary"> <input type="radio" aria-label="Radio" class="btn btn-primary"> <input type="checkbox" aria-label="Checkbox" class="btn btn-primary"> <input type="reset" value="Reset" class="btn btn-primary"> <button type="submit" class="btn btn-primary">Button</button> <a role="button" class="btn btn-primary">Link</a> |