Vertical stacks with mb-3 wrappers are the default and work well on mobile. For wider screens, combine the grid: put labels and fields in row + col-* columns, or use horizontal layouts with col-form-label aligned to control columns.
Floating labels
form-floating wraps an input and label so the label animates above the field when focused or filled. Place the label after the input in markup. Floating labels save vertical space in dense admin forms—use placeholders that remain readable when empty.
Inline and grouped rows
row g-3 with col-md-6 splits related fields (city/state) on medium breakpoints. Compare with utility-first form spacing in Tailwind forms where you compose gaps manually.
Self-check
- When would you pick floating labels over standard labels?
- Which grid classes align a label and input on one row at
md? - Why keep related fields in the same
row?