-
Notifications
You must be signed in to change notification settings - Fork 720
[css-view-transitions-1] Should block-in-inline splitting prevent view-transition-name
from being used
#12217
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
@emilio might be interested in this too. |
Seems like #1477 is still open? |
Yeah I think ignoring IB-splits makes sense, it's unclear what fragment / bounding boxes to use here. I think the Gecko implementation also ignores them. |
A block-in-inline doesn't have more than one fragment so it shouldn't be skipped right? IMO this would be pretty bad to skip all block-in-inlines from a web-dev point of view as things like:
Creates a block-in-inline by default. The current wording is only when a box itself produces more than one fragment, e.g. if it spans a column break. |
Sorry should've clarified, so when you have |
Yes indeed, it's the inline that gets multiple fragments and should be skipped (I believe).
Open pending edits, but the WG resolution is in the there :) |
So a few things: From: https://drafts.csswg.org/css-view-transitions-1/#capture-old-state-algorithm
If an inline gets fragmented it can still participate in a view-transition.
This isn't what the resolution for 1477 was however:
So the inline gets fragmented, but it doesn't say anything about if anonymous blocks are inserted. Anonymous blocks are an implementation detail. Blink doesn't insert the anonymous blocks as you've described. We follow the box-tree structure in 1477. And the block-box is a sibling on the two inline fragments per that resolution. I'm hesitant to resolve on this as it seems to come from: (Also note there are bugs with block-in-inlines in WebKit like: https://www.software.hixie.ch/utilities/js/live-dom-viewer/?saved=13823 )
|
This is what I'm seeking to clarify here. The above wording seems to be quite specific to the fragmentation of an inline across the line box, and any other cases are covered by:
Where the link for 'fragmented' specifically lists block-inside-inline. If the intent is to allow this case, then I think the spec should be more clear as to what types of fragments are included/excluded. As Emilio said, it's not super obvious what the bounding boxes to use would be, so it'd be nice to have some thorough tests of this so we can try to avoid more browser-specific bugs relating to IB splits. |
Two points:
Thats somewhat orthogonal however (and maybe requires clarification!). E.g. the geometry of the inline is no different if it has a block-in-inline present or not; and the block-in-inline should be painted by the inline. |
The current wording says that elements that have more than one box fragment should be skipped from capturing, with the explicit exclusion of inlines being split across line boxes.
Should block-in-inline be skipped too? There's also the bidi reordering, and column-spanner-in-block cases.
The linked css-break-4 spec (linked to from css-view-transitions-1) describes all of these as creating multiple fragments - https://drafts.csswg.org/css-break-4/#box-fragment. Looks like this was the resolution that settled on that being the case - #1477 (comment).
The text was updated successfully, but these errors were encountered: