-
Notifications
You must be signed in to change notification settings - Fork 719
[css-inline-3] Rethinking line-sizing and leading-trim #5168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I think the devil's in the details of how the
|
The CSS Working Group just discussed
The full IRC log of that discussion |
…e and a different leading-trim. #5168
Hi @fantasai @frivoal @dauwhe and everyone else. I've never participated in any working groups, but I thought in this instance, you might be interested to check out a prototype I've made. It's using the negative-margin and translateY recipe to trim the bounding box and realign text to the baseline. The 'compose' tab (top-right) is the interesting bit. |
Edits made, and new draft posted. Filed #5239 in response to some of the discussion raised by @dauwhe's diagrams. |
Hi I was wondering if there is any update on the CSS leading trim. |
Uh oh!
There was an error while loading. Please reload this page.
I wanted to follow up on some thoughts:
line-sizing: normal
’s model working fine ifline-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) andleading-trim-over/under: normal |
(non-inheritable, applies to block containers, inline boxes) we had:text-edge-over/under: leading | normal |
(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
is likenormal
, 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 totext-edge
metricend
trims outer half-leading of root inline box on last line, down totext-edge
metricThe text was updated successfully, but these errors were encountered: