The CSS Box Alignment spec introduces the ability to choose the last baseline instead of the first for baseline-aligning boxes. This ability needs to also be ported to the vertical-align property (in CSS Inline Layout). Note, the vertical-align property is especially wonky because for inline-tables it uses the first baseline and for inline-blocks it uses the last.
The current syntax in Box Alignment is to contrast baseline (imported from Flexbox) with last-baseline (new in Box Alignment). However, using prefixed keywords would result in a combinatorial explosion if we added it to the alignment-baseline subproperty of vertical-align.
Some solutions to this problem:
- Explode
alignment-baseline.
- Use
last and baseline as separated keywords in align/justify-self/content as well as alignment-baseline.
- Use
last-baseline in align/justify-self/content and last baseline in alignment-baseline.
- Introduce a new property to choose
first vs last for vertical-align, and have last-baseline decompose to last in that property plus baseline for alignment-baseline.
- Introduce
first-baseline and last-baseline to alignment-baseline(to match Align), but also allow first and last space-separated prefixes for all values of alignment-baseline(to avoid explosion). (This means that both first-baseline and first baseline would be valid, but eh?)
- Something else?
The CSS Box Alignment spec introduces the ability to choose the last baseline instead of the first for baseline-aligning boxes. This ability needs to also be ported to the
vertical-alignproperty (in CSS Inline Layout). Note, thevertical-alignproperty is especially wonky because for inline-tables it uses the first baseline and for inline-blocks it uses the last.The current syntax in Box Alignment is to contrast
baseline(imported from Flexbox) withlast-baseline(new in Box Alignment). However, using prefixed keywords would result in a combinatorial explosion if we added it to thealignment-baselinesubproperty ofvertical-align.Some solutions to this problem:
alignment-baseline.lastandbaselineas separated keywords inalign/justify-self/contentas well asalignment-baseline.last-baselineinalign/justify-self/contentandlast baselineinalignment-baseline.firstvslastforvertical-align, and havelast-baselinedecompose tolastin that property plusbaselineforalignment-baseline.first-baselineandlast-baselinetoalignment-baseline(to match Align), but also allowfirstandlastspace-separated prefixes for all values ofalignment-baseline(to avoid explosion). (This means that bothfirst-baselineandfirst baselinewould be valid, but eh?)