This is a page from the Cascading Style Sheets Working Group Blog. Some other places to find information are the “current work” page, the www-style mailing list, the Future of CSS syndicator, and the issue list on Github.
Do you want to know how the CSS WG works? Fantasai has written about:csswg, An Inside View of the CSS Working Group at W3C.
The CSS WG has published an updated Working Draft of the CSS Transforms Module Level 2.
CSS transforms allow elements styled with CSS to be transformed in two-dimensional or three-dimensional space. Level 2 (currently mostly a delta specification) adds new transform functions and properties for three-dimensional transforms, and convenience functions for simple transforms.
The full list of substantive changes in this working draft (relative to the First Public Working Draft, which is really what separated this material from Level 1 rather than the first publication of the material) is listed in the Changes section.
Please review the draft and file issues in the GitHub repository (or, if needed, send them by email to www-style@w3.org). Either way, please prefix the summary/subject with [css-transforms-2]
.
A few pieces that I’d like to highlight from the full changes section linked above are the following:
These edits help make the spec’s model more consistent internally, and also a bit clearer, although they also align more clearly to the Chromium/Gecko behavior rather than the WebKit behavior. (I think some of the text that was there would have made sense if the spec had WebKit’s model for 3D rendering contexts, but I think it probably doesn’t make sense with the spec having the model that’s used in Chromium and Gecko.)
The background behind this is that my understanding of the difference between the model currently implemented in WebKit and the model currently implemented in Chromium and Gecko is that:
While the spec defined the construction of 3D scenes in the way that matches the Chromium/Gecko model, there were a few definitions that matched the WebKit model instead. These edits essentially fix those definitions to match the Chromium/Gecko model, and then do some further cleanup on the definitions.
Applying the spec definitions as previously written may not have been Web-compatible, since it would have implied results that did not match any browser. Essentially I’d think of this as that the Chromium/Gecko model and the WebKit model differ by “half” a step up the the tree, whereas applying these definitions as previously written would have caused the spec’s requirements to differ from WebKit by a “full” step up the tree and from Chromium/Gecko by “half” a step up the tree (since they were written in terms of the WebKit model’s concept of “establishing element”). In this description, a full step up the tree (meaning including one more ancestor and its children in the 3D scene) consists of two half-steps: the first half-step is that of merging the siblings of the current root into the scene (and thus making the new root be the old root’s parent), and the second half-step is applying the transform of the new root (along with the perspective of its parent). Chromium, Gecko, and WebKit currently all agree on the overall transform; the difference in behavior affects which elements are part of the 3D scene.
The spec still has a large number of open issues.
In the near future, I’m hoping to: