-
Notifications
You must be signed in to change notification settings - Fork 757
Open
Labels
Description
I wanted to follow up on some thoughts:
- dbaron's musings in A Coruña
- Issues around
line-sizing: normal’s model working fine ifline-heighthas significant slack, but not if it doesn't: the half-leading on the root element isn't enough to handle slight shifts in ascent/descent due to varying font-families, for example, if there's hardly any half-leading. See this video from ~11:37 - 12:30 (or just watch the whole thing if you prefer ;) - Handling descendant inlines on the first/last line for
leading-trim - Possible benefits of splitting the choice of metric into an inheritable, independently-cascading property, leaving
leading-trimto focus on whether or not to trim.
Starting from some of dbaron's comments, I suspect reworking the relationship of these two features might solve a lot of these issues.
For example, what if instead of line-sizing: legacy | normal (inheritable) and leading-trim-over/under: normal | <metric> (non-inheritable, applies to block containers, inline boxes) we had:
text-edge-over/under: leading | normal | <metric>(inheritable, applies to inline boxes except root inline)leadinginline box does the usual thing of contributing half-leadingnormalinline box ignores 'line-height', contributes margin-box edge<metric>is likenormal, but also trims the content-height from ascent/descent down to specified metric
leading-trim: normal | start | end | both(non-inheritable, applies to block containers)normalapplies half-leading over/under the root inline box on all linesstarttrims outer half-leading of root inline box on first line, down totext-edgemetricendtrims outer half-leading of root inline box on last line, down totext-edgemetric
argyleink and chriskirknielsen