Justification Keywords for Alignment

Spec:
css3-align, css3-flexbox
Owner:
fantasai
Status:
Closed
Added:
2012-05-16
Action:
Pick proposal A, B, or C
Issue:
http://lists.w3.org/Archives/Public/www-style/2012May/0554.html

RESOLVED

The WG resolved to go with another option brought up during the call, and use 'space-between' and 'space-around' for the “Edges flush” and “Equal margins” cases, respectively.

Background

There are three possible behaviors for distributing items evenly along an axis:

Edges flush

 |[item]<-------->[item]<-------->[item]|

Equal spacing

 |<--->[item]<--->[item]<--->[item]<--->|

Equal margins

 |<-->[item]<---->[item]<---->[item]<-->|

Note: In Flexbox, you can get the equal-margins effect with auto margins, but only if you want the minimum spacing to be zero. Which might be sufficient for this level, but would be a candidate for future extension.

Related prior art:

Problem Statement

Flexbox currently uses justify to mean “edges flush” and distribute to mean “equal margins”. This has two problems:

We need keywords that clearly and unambiguously specify each of the behaviors (or at least two, really, since only two are wanted).

Proposal(s)

There are several proposals for distinguishing “edges flush” vs. “equal margins” behavior:

Proposal 0 (current spec)
justify vs. distribute
Proposal A
distribute vs. distribute-space
Proposal B
distribute-flush vs. distribute-space
Proposal C
distribute vs. space