Skip to content

[css-transforms-2, css2.1] Define the pseudo stacking context concept #4360

Open
@chrishtr

Description

@chrishtr

For de-facto [1] interop [2] reasons relating to WebKit/Blink implementation behavior, a pseudo stacking context should be defined.

Proposal: an element induces a pseudo stacking context if at least one of the following holds for the element:

  • Induces a stacking context
  • Is positioned
  • Has backface-visibility: hidden
  • Specifies columns (has non-auto column count or width)
  • Scrolls overflow (note: not overflow: hidden with or without overflow)
  • Is an embedded object, video, or canvas

[1] This concept is very similar to that for a "self-painting layer" in WebKit and Blink. In Blink at least, there are couple of additional corner cases that cause self-painting layers, such as overlay scrollbars. Also, there are some unreliable corner cases, such as whether an iframe is composited or not. I don't think these should be specified. Instead Blink and WebKit should work towards not requiring self-painting layers for these cases.

[2] Elements which induce a pseudo stacking context will likely be specified to:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions