v157 · css · alignment · grammar probe

Keyword probe

Six alignment properties, two new keywords, two probes each: CSS.supports(property, "flow-start") for the static answer, and a setProperty round-trip for the enforcing one — a dropped declaration leaves an empty string behind, which is how you distinguish “parsed and aliased” from “silently discarded”.

Probing this browser…

Support matrix

flow-start and flow-end support per alignment property in this browser
propertysupports flow-startretainedsupports flow-endretained

Apply to a live flexbox

Each button sets justify-content on the stage below via setProperty and reads back both the specified and the computed value. On a browser without the keywords, the readout shows the real dropped-value outcome — and the aliased equivalent button row applies the behaviour the spec defines for it, clearly labelled as the shipped spelling.

A
B
C
No value applied yet.

the probe, exactly

CSS.supports("justify-content", "flow-start");   // static

const el = document.createElement("div");
el.style.setProperty("justify-content", "flow-start");
el.style.getPropertyValue("justify-content");
// ""           → dropped: this engine predates the keywords
// "flow-start" → parsed — and per the spec, flex-start would
//                ALSO read back as "flow-start" (true aliasing)

Neither probe infers anything from flex-start working — that value has shipped since 2009 and proves nothing about the aliases.

see also