Hi all,
It's been a while since Igalia started contributing to the development
of the CSS Grid Layout spec in Blink (behind a runtime flag) and we'd
like to report about the implementation status to gather feedback from
the community (comments, issues, questions, etc.).
CSS Grid Layout is a browser feature that allows to define responsive
and flexible 2D layouts using just CSS declarations. Visit
http://www.w3.org/TR/css-grid-1/ for more information about the standard.
First of all, the following meta-bug can be used to track the
implementation:
http://crbug.com/79180
Besides a quite active bugfixing, these are the most important changes
that have been landed recently:
* Syntax implementation:
- Adapting some properties to the last specification:
http://crbug.com/337626
+ grid-template-{columns, rows} and grid-template-areas.
- grid-template: Explicit Grid shorthand
- grid: Grid Definition Shorthand
* Painting and performance:
- Painting optimization on big grids:
http://crbug.com/248151
+ Simplified OrderIterator:
http://crbug.com/256804
* Code refactoring:
- Grid position resolution code moved to its own class:
http://crbug.com/258258
* Auto-Placement algorithm:
- Add support for spanning items:
http://crbug.com/353789
* Alignment and justification:
- Improve margin, border and padding support:
http://crbug.com/357419
* Named Grid Lines support:
- Upgrade to the last specification draft:
http://crbug.com/282452
- Place items using named grid lines:
http://crbug.com/337779
In addition, we're actively working on the following features:
* Alignment and justification:
- Implement column-axis Alignment:
http://crbug.com/376823
- Implement row-axis Alignment:
http://crbug.com/249451
- Grid support for justify-content and align-content.
* Writing modes:
- Basic support implemented and layout test defined.
- Still some issues related to the Track Sizing algorithm and
orthogonal modes.
* Track Sizing Algorithm rewrite (meta-bug: htttp://
crbug.com/392200):
- Rewrite initialization of track sizes
- Rewrite the algorithm to distribute extra space
* Auto-placement algorithm:
- Implement the new sparse and stack modes: htttp://
crbug.com/384099
* Performance optimization:
- meta-bug to track future optimizations:
* Test coverage:
- meta-bug to track test coverage:
http://crbug.com/395788
We hope you find this report useful so people interested on this feature
could be aware of our progress and future work. Please, don't hesitate
to give us any kind of feedback; it's really appreciated.
Finally, stating that we're planning to continue working on the
implementation this spec with the aim of sending an "intent to ship"
before the end of the year. Let's see how all this evolves and we'll
keep you informed.
Best regards.