Bootstrap styles native form elements with semantic classes so you get consistent sizing, focus rings, and disabled states without rewriting CSS. The core control class is form-control on text inputs and textareas; selects use form-select; checkboxes and radios use form-check wrappers.
Labels and help text
Pair every control with form-label and connect via for/id from your HTML forms fundamentals. Add hints with form-text below the field. Disabled controls use the native disabled attribute—Bootstrap dims them automatically.
Sizing
Scale inputs with form-control-lg or form-control-sm when a dense toolbar or hero signup needs different density. Keep label size consistent unless design spec says otherwise.
Self-check
- Which class belongs on a
<select>instead ofform-control? - How do you associate a label with an input without nesting?
- What attribute disables a field for assistive tech and styling?