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.

If your value is… Pick Why
Continuous (0–100) Progress-bar knob The arc gives sub-step resolution
Discrete (1–10, low/med/high) LED knob The LEDs map cleanly to whole steps
Mixed Either, with snapping Both 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.