Skip to content
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

[css-transforms-2] Clarify interaction with mix-blend-mode #6266

Open
mattwoodrow opened this issue May 5, 2021 · 0 comments
Open

[css-transforms-2] Clarify interaction with mix-blend-mode #6266

mattwoodrow opened this issue May 5, 2021 · 0 comments

Comments

@mattwoodrow
Copy link
Contributor

This testcase uses preserve-3d and mix-blend-mode, and doesn't contain any grouping property values on the element with preserve-3d.

It does however render with a transform-style used value of flat, in both blink and gecko.

In gecko the effective order of operations (which I don't think are specified) are as follows:

Transform(parent)
  Isolate(parent)
    BlendMode(child)
      Transform(child)
        BackgroundColor(child)

The presence of both the isolation, and the blend-mode interrupt the transform chain and disable preserve-3d, but neither of those are mentioned as grouping property values (mix-blend-mode is a grouping property on the element with preserve-3d, but that's not the problem here).

Assuming this order of operations is correct, then I think we want to remove mix-blend-mode as a grouping property (since it's logically outside the transform), and instead make the case where we've isolated for a descendant mix-blend-mode a grouping 'property'.

I'm not really sure how to specify that (since it's not a property as such, but a pretty complex set of states).

It's also interesting that compositing-1 says that all stacking contexts are isolated, which seems to be a conflict with the definition of grouping properties (which I understand as the subset of stacking contexts that really require isolation).

@dbaron Does this match your understanding of how blink handles this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant