Description
Imagin the following example we have a grid container with 2 rows and 2 columns (the grid container has position: relative
so it's the containing block of the baspos descendants).
A regular item is placed with grid-column: 3 / foo; grid-row: 3 / foo;
, thus an implicit grid line (4) is created and considered to have foo
as name.
Then if we have an abspos item with grid-column: 3 / bar; grid-row: 3 / bar;
how we should resolve the bar
line?
- 8.3. Line-based Placement (https://drafts.csswg.org/css-grid/#grid-placement-int):
all implicit grid lines are assumed to have that name for the purpose of finding this position.
Only checking this part of the spec it seems pretty clear that bar
line should point to the implicit line (4) (that matches Firefox/Edge behavior, note that Blink/WebKit consider that line to be auto
for the abspos item).
- 9.1. With a Grid Container as Containing Block (https://drafts.csswg.org/css-grid/#abspos-items):
If a grid-placement property refers to a non-existent line either by explicitly specifying such a line or by spanning outside of the existing implicit grid, it is instead treated as specifying auto (instead of creating new implicit grid lines)."
However reading this part I have more doubts about if it should be considered a non-existent line or not. If bar
is not a non-existent line because we have an implicit line and we assume it could have any name, shouldn't we clarify a little bit this last sentence?
This issue is related to bug #915551 reported by @MatsPalmgren on Chromium.