Where Rux differs from CSS

The short list of places Rux does not answer the way CSS does, and which kind of difference each one is.

The rule, set 2026-09-18: Rux's CSS behaves the way real CSS does, defaults included, unless a divergence is genuinely necessary. An author arrives knowing CSS, and every place Rux answers differently is something they learn by being surprised in the window. Documenting a divergence does not pay for it; only necessity does, and "better ergonomics" is not necessity.

So this list is short on purpose, and each entry says which kind it is.

DifferenceKindStanding
Flex cross-axis defaults to flex-start, not stretcha preference, taken for ergonomicsTo be reverted. It changes the layout of every existing document, so it is scheduled rather than patched
border-radius in percent resolves against the shorter side, so 50% on a 160x60 box is a pill and not CSS's ellipsea capability: Rux draws one radius per corner and cannot draw an elliptical cornerKeep
No inline text flow: two <text> siblings stack instead of sharing a linea capability: the layout engine has no inline layout, which is why display: inline was built and then removedKeep

Two things that look like differences and are not: display defaults to block, and flex: 1 means 1 1 0%. Both are CSS's own answers.