W3C home > Mailing lists > Public > www-style@w3.org > June 2014

[css-grid] Auto-placement algorithm sparse doubt

From: Manuel Rego Casasnovas <rego@igalia.com>
Date: Thu, 26 Jun 2014 23:20:49 +0200
Message-ID: <53AC8EB1.4040408@igalia.com>
To: www-style list <www-style@w3.org>

Hi,

I've a doubt regarding auto-placement algorithm [1].

Imagine that we have a 3x3 grid without grid-auto-flow property defined.
This means that the grid grows in the row direction when needed, and
that the auto-placement algorithm is *sparse*.

The HTML would be something like this:
<div style="display: grid; grid-template-rows: 100px 100px 100px;
grid-template-columns: 100px 100px 100px;">
  <div>A</div>
  <div style="grid-row: span 2; grid-column: span 2;">B</div>
  <div>C</div>
</div>

Let's review the values of the auto-placement cursor.

1) Initially it's set to 1/1.
2) Then we place "A" item in the 1/1 position. The cursor is still 1/1.
3) "B" is placed in the 1/2 position (taking 1/2, 1/3, 2/2 and 2/3
cells). The cursor is set to 1/2.
4) Finally "C" is placed in 2/1.

The result will be like in the following diagram:

-------------
| A | B | B |
-------------
| C | B | B |
-------------
|   |   |   |
-------------

I guess that in this case, we can consider that elements appear
out-of-order (which shouldn't happen in sparse mode).

However, I'm wondering if in step 3), the auto-placement cursor should
be set to 2/3 (the last occupied cell) instead of 1/2 (the first one).
In that case "C" will be placed in 3/1.
And the result would be something like this:

-------------
| A | B | B |
-------------
|   | B | B |
-------------
| C |   |   |
-------------

This situation seems to follow sparse concept better, and items appear
in the right order.

If this is right, probably the auto-placement algorithm wording should
be modified to specify this.

What would be the right result?

Thank you very much,
   Rego

[1] http://dev.w3.org/csswg/css-grid/#auto-placement
Received on Thursday, 26 June 2014 21:21:26 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:39:22 UTC