WPT
wpt / css / cssom-view / scrollWidthHeight-contain-layout.html
Spec: CSSOM View ↗
Runs: Chrome 155.0.8038.0 (wpt@05fffeacb, 2026-09-02) | Firefox 157.0a1 (wpt@7addae031, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-410b4 (wpt@ce41a9c47, 2026-09-02) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 104/128 | 122/128 | 92/128 | 122/128 | 104/128 | 128/128 |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: hidden, padding: 0, border: 0 | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: hidden, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: hidden, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: hidden, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: hidden, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: hidden, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: hidden, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: hidden, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: hidden, padding: 2px, border: 0 | PASS | FAIL | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: hidden, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: hidden, padding: 2px, border: 0 | PASS | PASS | PASS | FAIL | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: hidden, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: hidden, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: hidden, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: hidden, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: hidden, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: hidden, padding: 2px, border: 3px solid | PASS | FAIL | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: hidden, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: hidden, padding: 2px, border: 3px solid | PASS | PASS | PASS | FAIL | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: auto, padding: 0, border: 0 | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: auto, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: auto, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: auto, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: auto, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: auto, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: auto, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: auto, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: auto, padding: 2px, border: 0 | PASS | FAIL | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: auto, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: auto, padding: 2px, border: 0 | PASS | PASS | PASS | FAIL | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: auto, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: auto, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: auto, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: auto, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: auto, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: auto, padding: 2px, border: 3px solid | PASS | FAIL | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: auto, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: auto, padding: 2px, border: 3px solid | PASS | PASS | PASS | FAIL | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: scroll, padding: 0, border: 0 | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: scroll, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: scroll, padding: 0, border: 0 | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: scroll, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: scroll, padding: 0, border: 0 | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: scroll, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: scroll, padding: 0, border: 0 | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: scroll, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | FAIL | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: scroll, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: scroll, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: scroll, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: scroll, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: scroll, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: scroll, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: scroll, padding: 2px, border: 0 | PASS | FAIL | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: scroll, padding: 2px, border: 0 | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: scroll, padding: 2px, border: 0 | PASS | PASS | PASS | FAIL | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: scroll, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: scroll, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: scroll, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: scroll, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: scroll, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: scroll, padding: 2px, border: 3px solid | PASS | FAIL | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: scroll, padding: 2px, border: 3px solid | FAIL | PASS | FAIL | PASS | FAIL | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: scroll, padding: 2px, border: 3px solid | PASS | PASS | PASS | FAIL | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: clip, padding: 0, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: clip, padding: 0, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: clip, padding: 2px, border: 0 | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flex, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: block, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: flow-root, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-block, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-flex, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: grid, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline-grid, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |
| scroll{Width,Height} should match with contain: layout for display: inline, overflow: clip, padding: 2px, border: 3px solid | PASS | PASS | PASS | PASS | PASS | PASS |