Skip to content

CSS knobs built with Orbit

A knob is the visual metaphor most people reach for when they need to communicate “set a value between A and B” — it’s the rotary control on a guitar amp, the volume dial on a stereo, the brightness wheel on a monitor. Building one in HTML traditionally means SVG paths and a thick layer of JavaScript. With Orbit, the knob body, the indicator markings, the progress fill, and even individual LEDs are all just <div> elements you can style with CSS.

These two examples cover the most useful knob variants: one with an analog progress arc, and one with discrete LED steps for stepped controls.

Examples

When to use which

If your value is…PickWhy
Continuous (0–100)Progress-bar knobThe arc gives sub-step resolution
Discrete (1–10, low/med/high)LED knobThe LEDs map cleanly to whole steps
MixedEither, with snappingBoth can be made step-aware in JS

Both examples are built from the same Orbit primitives — bigbang, gravity-spot, nested orbits, and vector indicators — so once you’ve built one, the other is a small variation.