TaskBuild a billing-cycle picker: two radios with name='cycle', values 'monthly' and 'yearly'. Yearly is pre-selected (checked). Each has an inline label.
<input type=radio>: exclusive choice
75 XP6 min
Theory
Radio = exactly one choice from a group
<input type="radio" id="m" name="plan" value="monthly" /> <label for="m">$9/mo</label> <input type="radio" id="y" name="plan" value="yearly" checked /> <label for="y">$90/yr (save 17%)</label>
- All radios with the same name are mutually exclusive β clicking one unchecks the others.
valueis what gets submitted (plan=yearly). Text is what the user reads.checkedon one of them is the default.
When to use radio vs select
| Use radio when | Use select when |
| 2-5 options | 6+ options |
| Choices are short (1-3 words each) | Choices are long or wordy |
| All choices should be visible at once | Saving vertical space matters |
Plan picker, gender, size (S/M/L), payment method β radio. Country, year, language β select.
Layout
Radios are inline by default. For a vertical stack:
label { display: block; padding: 4px 0; }For "card-style" radios (where the whole card is clickable), put the radio inside the label:
<label> <input type="radio" name="plan" value="yearly" /> <strong>Yearly</strong> <p>$90/year β save 17%</p> </label>
π
Sign up to start coding
Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β card required, cancel anytime.
Sign up β free trial βFirst 10 lessons in each track are free. No card needed for those.