I wanted to follow up on some thoughts:
line-sizing: normal
’s model working fine if line-height
has 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 ;)leading-trim
leading-trim
to 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)
leading
inline box does the usual thing of contributing half-leadingnormal
inline box ignores 'line-height', contributes margin-box edge<metric>
is like normal
, but also trims the content-height from ascent/descent down to specified metricleading-trim: normal | start | end | both
(non-inheritable, applies to block containers)
normal
applies half-leading over/under the root inline box on all linesstart
trims outer half-leading of root inline box on first line, down to text-edge
metricend
trims outer half-leading of root inline box on last line, down to text-edge
metricYou can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3