Passer au contenu principal

CSS-only Tailwind CSS radio buttons with primary, secondary, accent, and semantic color variants. Sizes xs–xl. WCAG AA accessible, works with Django, HTMX, Laravel, React, and any stack.

Les composants de boutons radio permettent aux utilisateurs de sélectionner exactement une option parmi un ensemble de choix mutuellement exclusifs. Construits avec des éléments d'entrée HTML natifs et améliorés avec Tailwind CSS, les boutons radio prennent en charge plusieurs tailles, couleurs et états. Accessibles et navigables au clavier, les radios sont idéales pour la sélection des préférences, le filtrage et les questions à choix unique.

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
radioBaseEntrée de bouton radio stylisé
radio-circleStyleRadio entièrement circulaire (par défaut)
radio-roundedStyleRadio moyennement arrondie
radio-squareStyleRadio carrée sans arrondi
radio-disabledModificateurApparence désactivée pour les éléments non saisis
radio-xsTailleTrès petit
radio-smTaillePetit
radio-mdTailleMoyen (par défaut)
radio-lgTailleGrand
radio-xlTailleTrès grand
radio-2xlTaille2× très grand
radio-primaryCouleurCouleur du thème principal
radio-secondaryCouleurCouleur du thème secondaire
radio-accentCouleurCouleur du thème d'accentuation
radio-neutralCouleurCouleur du thème neutre
radio-infoCouleurCouleur sémantique de l'information
radio-successCouleurCouleur sémantique du succès
radio-warningCouleurCouleur sémantique d’avertissement
radio-errorCouleurCouleur sémantique des erreurs

Utilisation de base

1
2
<input type="radio" name="radio-1" class="radio" checked="checked">
<input type="radio" name="radio-1" class="radio">
1
2
<input type="radio" name="radio-1" className="radio" checked="checked">
<input type="radio" name="radio-1" className="radio">

Tailles des radios

html
1
2
3
4
5
<input type="radio" name="radio-sizes" class="radio radio-xs" checked="checked">
<input type="radio" name="radio-sizes" class="radio radio-sm" checked="checked">
<input type="radio" name="radio-sizes" class="radio radio-md" checked="checked">
<input type="radio" name="radio-sizes" class="radio radio-lg" checked="checked">
<input type="radio" name="radio-sizes" class="radio radio-xl" checked="checked">

Couleurs radio

html
1
2
3
4
5
6
7
8
9
<input type="radio" name="radio-colors" class="radio" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-primary" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-secondary" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-accent" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-info" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-success" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-warning" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-error" checked="checked">
<input type="radio" name="radio-colors" class="radio radio-neutral" checked="checked">

Radio désactivée

html
1
2
<input type="radio" class="radio" disabled="">
<input type="radio" class="radio" disabled="" checked="checked">

Formes radio

Radio carrée

html
<input type="radio" name="shape-demo" class="radio radio-square" checked="checked">

Radio arrondie ou circulaire

html
1
2
<input type="radio" name="shape-demo2" class="radio radio-circle" checked="checked">
<input type="radio" name="shape-demo2" class="radio radio-rounded" checked="checked">

Radio avec étiquette

html
1
2
3
4
5
6
7
8
<input type="radio" class="radio radio-circle radio-neutral radio-sm" id="size-small" name="size" value="small">
<label for="size-small">Small</label>

<input type="radio" class="radio radio-circle radio-neutral radio-sm" id="size-medium" name="size" value="medium">
<label for="size-medium">Medium</label>

<input type="radio" class="radio radio-circle radio-neutral radio-sm" id="size-large" name="size" value="large">
<label for="size-large">Large</label>