Form controls · Lab

Field layouts

~30 ways to arrange a label, value, and control — proven patterns plus a few novel ones. Each notes when it wins. Scroll to the bottom for macro examples: the same fields composed four different ways.

A · Label position — the spectrum

The fundamental question: where does the label sit relative to the control?

01Label on top

When: default for data-entry forms. Fastest scan, wraps & localizes cleanly.

02Top + helper

Max riders this bus seats.

When: the field needs a hint or constraint up front.

03Top + optional badge
Optional

When: mixed required/optional forms — mark the exceptions, not every field.

04Top + inline action

When: a per-field action belongs next to its label (reset, generate, help).

05Floating label

When: onboarding / few fields. Saves height; label rises on focus or fill.

06Floating (select)

When: same as 05 for pickers — label parks above once a value exists.

07Inline · label left

When: dense forms / panels where horizontal space is plentiful.

08Inline · top-aligned

When: inline label but the control is tall (textarea, group).

09Placeholder-as-label

When: single, obvious fields (search). Keep a real aria-label — placeholders aren't labels.

10Filled · label inside

When: Material-style density; label and value share one block.

B · Compact panel rows — the studio context

Tight, always-editable rows for tools and filters. Every pixel of height counts.

11Header + slider
Badge size26px

When: sliders — label + live value on one line, track below. (Today's studio.)

12Tight inline
Base color
Gradient

When: stacks of pickers in a narrow panel; labels in a fixed left column.

13Two-up

When: paired values (offset X/Y, min/max, W×H) read as one unit.

14Icon label
Opacity

When: an icon disambiguates faster than a word in cramped tools.

15Inline + segmented
Align

When: 2–4 mutually-exclusive choices — no dropdown needed.

C · Settings & edit-in-place — review, then change

Read-optimized: show the current value; reveal a control only when editing.

16Value-right + Edit
RouteRoute 12

When: the canonical settings row. Scans as "attribute → value."

17Value + Change link
Emailava@smarttag.io

When: longer values that shouldn't share a line with the label.

18Edit-in-place reveal
Capacity48 riders

When: edit happens in context — no page/modal jump. (Try it.)

19Expand to edit
SchoolLincoln Elementary

When: the editor is bigger than one field; keep the list calm until opened.

20Inline-editable value
NicknameBig Blue

When: low-friction tweaks — click the value itself to type. (Click it.)

21Toggle row
ActiveBus appears on the live map.

When: boolean settings — label-left, switch-right, optional sub-text.

D · Compound & data-entry niceties

22Leading add-on
$

When: a fixed prefix/symbol clarifies the value (currency, @, http://).

23Trailing unit select

When: a value plus its unit (px/%/m, hr/min) belong together.

24Required marker

When: mostly-required forms — mark required with * + a legend.

25Error state

Must be between 1 and 99.

When: validation — message replaces helper, control flips to danger.

E · Novel / futuristic

A few less-common directions that fit the sharp, technical brand.

26Underline only

When: minimal, editorial forms; less boxy chrome.

27Notched outline

When: label sits in the border itself — compact, distinctive, still clear.

28Right-aligned labels

When: short labels next to controls — the gutter aligns label↔field tightly.

29Value-forward

On board

24

When: the value is the headline (dashboards, KPIs you can also edit).

30Terminal field
route_id>

When: technical/config surfaces — leans into the monospace, sharp aesthetic.

Macro · the same fields, four contexts

Route name · School · Capacity · Active — arranged for where they live. This is the real decision: match the layout to the job of the page.

Data-entry form

Label on top, two-column grid. Built to fill in.

Settings list

Label-left / value-right + Edit. Built to review.

Route nameRoute 12
SchoolLincoln Elementary
Capacity48 riders
Active

Compact panel

Tight inline rows, live controls. Built to tune.

Route
School
Capacity48
Active

Onboarding step

One floating field, big target. Built to focus.