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.
Daniel Glazman brought up the 1998
List of suggested extensions to CSS
and how we haven’t been aligning our work with designer needs, even with the
feedback that we have already. This sparked a long conversation, which I don’t
think I can summarize, but I’ll try to pull out some of the points made here.
Note that these points aren’t representing WG consensus, just some ideas that
came up in the conversation: partly quotes, partly paraphrasing, partly
summarizing.
Someone diagrams our efforts into the following sections:
See also Kevin Lawver’s Web Standards’ Three Buckets of Pain.
(See overflow section in CSS3 Box Module draft.)
Resolved: Rename marquee-loop to marquee-play-count.
Rationale: Avoids confusion over whether marquee-loop: 1 means play once or play twice. This was a major point of confusion for the HTML5 loop attribute, which was renamed playcount for this reason.
Noted: Need clarifications for behavior of marquee-style values.
Noted: Computed value section of marquee-direction doesn’t match values.
Noted: Note about alternate under marquee-direction definition could be interpreted incorrectly and should be fixed by saying “opposite of the direction given by marquee-direction” or somesuch instead of “opposite direction”.
Resolved: Remove overflow-style-x and overflow-style-y in favor of overflow-style: auto | marquee-line | marquee-block where marquee-line scrolls parallel to the line boxes and marquee-block scrolls perpendicular to them.
Rationale: Combining this into one property avoids senseless combinations like marquee in both directions, and also works the same way for both vertical and horizontal text.
Resolved: Keep display: compact in CSS Box Module Level 3.
Noted: David Baron sent many comments on display: compact; they should be dug up and addressed.
Resolved: Add to width, min-width, max-width, height, min-height, and max-height keywords from Section 3 of David Baron’s intrinsic sizing document, but rename fill to available, min-intrinsic to min-content, intrinsic to max-content, and shrink-wrap to fit-content. Define that all 4 values should act as the property’s initial value when they are specified on the inline progression dimension. (Add also examples to demonstrate their use.)
Resolved: Proposal accepted for issue 16.
Resolved: Define in CSS3 Paged Media that @page rules are allowed inside @media blocks.
Resolved: all and can be dropped from a media query, e.g. @media (color) {} is valid.
Resolved: Unknown/unsupported media queries are ignored, but the other comma-separated parts can still be used.
Resolved:Dropping unknown parts of a media query such that all parts are dropped means you end up with none, not all.
Media Queries will go back to Last Call for these and other changes.
Discussed use cases, SVG-like transform syntax, and centers of rotation.
Consensus: We need keywords for pegging the center of rotation at, e.g. the baseline of an inline element, or at the center of any other element.
Noted: For the above reason and for usability, we need a way to set the center of rotation explicitly.
Noted: A diagonal keyword for the angle of rotation could introduce circularity if it affects layout.
Noted: Separate properties to trigger transform behaviors could introduce cascade problems.
Resolved: transform property should trigger a new block formatting context. A none value is needed as the default.
Noted: Importing SVG syntax directly doesn’t work because it’s incompatible with CSS tokenization and other syntactic conventions. Specific problems include: CSS can’t accept spaces before the opening ( of functional notation, functions need to take lengths not numbers, and functional notation should require commas.
The W3C has an annual Technical Plenary, during which all its working groups have face-to-face meetings in the same place. This gives groups a chance to have joint meetings to work out cross-working-group issues. Due to the way scheduling was handled this year, we only got two days of meetings whereas we usually have three.
The MathML Working Group is working on ways to display MathML with CSS. Our discussions resulted in the MathML WG posting a list of Prioritized Requests for CSS3.
The CSS Validator team requested a better definition of what a valid CSS document is in Level 3 and clearer indications that REC-CSS1 and REC-CSS2 are obsoleted.
We reviewed a new version of the table width calculation algorithm document. This text will be incorporated into a new CSS3 Tables module soon.
Agreed to publish an LC draft (after vertical text issues are addressed) with an extended public comment period to invite more feedback.
In December 2006, W3C celebrated that the CSS1 Recommendation was 10
years old. Part of the festivities was to launch a site to record some
of the history, seminal articles, a hall of fame, and a gallery of
CSS-based designs.
We invited people to submit their favorite CSS pages and designs for
consideration. The idea was that Bert Bos and myself would admire the
fine works of arts and add our favorites to the gallery; perhaps some
would even go into the hall of fame.
Due to, ahem, some technical problems with, ahem, the email system of
a consortium near and dear to us, the messages sent for consideration
bounced during most of the year. We apologize for this.
We therefore humbly ask people to resubmit their CSS pages and design
for consideration. The site will be frozen before the end of the year
and this is your chance to help define a CSS time capsule.
Please send your your contribution to: css10@w3.org
Resolved: CSS2.1 issue 7 (constant page width) closed no change.
Resolved: CSS2.1 issue 12 (honoring intrinsic width/height) proposal accepted.
Other notes:
In the 2007 CSS Snapshot I briefly explained the W3C Process, how it relates to the CSS Working Group’s experience, and how its stages do not correspond very well to stability levels in our work. In this post I want to outline the stages that I’ve observed in our work of defining CSS and point out some examples from our active repetoire. (As with the official W3C process stages, a spec can move backward in response to feedback as well as forward.)
We published a new draft of Behavioral Extensions to CSS a few days ago. It changed significantly from the previous draft published in 1999. The new draft defines a binding CSS property and :bound-element pseudo-class. The other features are now covered by the XBL draft which is being developed by the W3C Web Application Formats Working Group.
As for the features in the draft, the binding property allows you to link to resources in the XBL format and the :bound-element pseudo-class matches elements that have a binding.
Comments are welcome on the www-style@w3.org mailing list!
There was a lot of discussion earlier this year around Andy Budd’s proposal for a CSS2.2. The basic premise was that the Web needs a halfway point between CSS2 and The Complete CSS3 that is taking forever, so that the key features web developers need now can happen sooner. The structure of CSS3 is actually set up so that this can happen, but the CSS Working Group has realized that this is far from obvious to anyone outside the working group. So we’ve decided to publish a CSS2.2.
Except we’re not going to call it CSS2.2, because to the Working Group CSS2.2 means something completely different. (It means CSS Level 2 Revision 2, which, really, isn’t something anybody needs right now.) We’re also not going publish just one “CSS2.2”, but many—hopefully one a year. The first one is the Cascading Style Sheets (CSS) Snapshot 2007. Our goal in publishing this document is to explain the state of CSS, demonstrate the modular nature of CSS3, and make many of the tacit recommendations of the CSS Working Group explicit. This snapshot defines, as Markus puts it, The Book of CSS: it’s the introduction and table of contents for everything that would be part of the 2007 Edition of Cascading Style Sheets: The Definitive Spec.
If you’re interested in the development of the CSS specs, read the Snapshot. It’s very short (4 pages printed), and mostly explanation rather than technical definition. There’s nothing new or terribly exciting in it (expect more in 2008), but I hope this document makes it easier for people to understand the structure and development of CSS.
Resolved: Publish a new draft of the Grid module soon to get away from * syntax
Resolved: Start work on next Paged Media spec, since we want to finish stabilizing CSS Paged Media Level 3 but also have a lot of ideas that need hashing out. These include (but are not limited to):
:blank page selector for blank pages generated by forced page breaks.allow value for page breaking, to override a parent’s avoid.pages counter (skip pages, reset, etc.)size: letter, A4;)Resolved: Since we now have public workspace on dev.w3.org, we resolve that at least two implementors must be interested in implementing a module before we publish an official W3C Working Draft on the TR page.
Other topics discussed:
No resolutions from this session, which took up the whole morning. It was a working session where the WG tried to come to a common understanding of automatic table layout’s column width calculation in (almost) all its gory detail. You can see some of the gory details in this discussion on www-style and more extensively in David Baron’s document and Microsoft’s document.
Microsoft’s team and Mozilla’s David Baron have each put together partially-intersecting discussions of table layout, which we hope to put together into detailed spec of how automatic table layout should work for the CSS3 Tables module. The goals are to spec what’s currently interoperable, and where there isn’t interoperability, to spec what is partially interoperable and sensible.
General discussion and some resolutions on syntax issues:
image-orientation Value ParsingResolved: image-orientation accepts all angles, rounds to nearest increment of 90°, and spec says authors SHOULD NOT specify angles other than increments of 90°.
Rationale: Since a number followed by alphabetic is parsed as a length, we can’t allow 90deg but not 90.0deg. If we allow radians, then what matches? 3.14rad and 3.14159rad are both approximations of 180°, but they are neither equal to 180° nor equal to each other. We could either allow only degree measurements (which would be odd because all other angle properties accept all angle units, just like all other length properties accept all length units) or accept all angle values and simply round to the nearest 0°/90°/180°/270° angle. The WG, to avoid changing parsing behavior and because it seemed more intuitive, opted for the latter.
Resolved: The following features will be in CSS Box Module Level 3 and the rest of the old box module will be shifted to CSS Box Module Level 4. (Note that CSS4 Box may be published before some parts of CSS3: i.e. CSS modules beyond CSS2.1 do rev independently.)
overflow-x and overflow-yResolved: The CSSWG will publish a document that collects together all the CSS specs that we consider stable, a profile that declares the scope and state of CSS at this point in time. It will include only specs that we consider stable in their definitions (i.e. we don’t expect significant changes) and for which we have enough implementation experience that we are sure of that stability.
Resolved: The 2007 version of this document will include
Noted: The 2008 version of this document is likely to contain also CSS3 Paged Media and Media Queries, possibly also CSS Ruby and CSS3 Backgrounds and Borders depending on how those drafts progress.
Browse by date:
Browse by category: