Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
253 views
in Technique[技术] by (71.8m points)

css - Is CSS3 an official standard?

I would like to know if CSS3 is an official W3C standard or just something like "CR" (Candidate Recommendation)?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

CSS3 is described as the next generation of the CSS styling language (just like HTML5 is the next generation of HTML), building upon the foundation set by CSS2.1, the de jure CSS level 2 spec. It is still in active development and has not entirely been finalized yet.

In fact, CSS3 will probably never reach a "final" state in the sense of the word, as new modules are being added all the time. This is because starting from level 3, CSS itself has been modularized, such that each module can be developed independently of the rest (although related modules may be developed in tandem). This allows not just for existing modules to be leveled independently, but new modules to be created at any time, either defining completely new sets of features, or extending from existing CSS2.1 features.

Modules that are based on existing sections of the CSS2.1 spec start off at level 3, while modules that are entirely new to CSS as a whole start from level 1. Now, although "level 4" would seem to imply that there is a CSS4 coming, just as how "level 3" is often used to refer to CSS3, one of the CSSWG members has published a blog post talking about the term "CSS4" saying that is not the case:

THERE IS NO SUCH THING AS CSS4

There has never been a CSS4. There will never be a CSS4. CSS4 is not a thing that exists.

The term "CSS3" refers to everything published after CSS 2.1.
CSS is on its last version as a language as a whole, so it would be appropriate to just drop the number entirely and refer to everything from now on as just "CSS".

While trying to finish CSS 2.1, we (the CSSWG) realized that big monolithic "versions" weren't any good. They were difficult to maintain, and slow to develop.

Instead, we decided to split up the CSS language into a bunch of independent modules. Each module can level up independently, and contains only a smallish set of features, so it's harder for a large set of features to be slowed down by a single stubborn feature.

Some of our modules start out at level 3, if they extend something from CSS2.1. Others start out at level 1, if they're something new (for example, Flexbox). However, the level that a module is at has no correlation with what version of CSS it's in. They're all CSS3 (or just CSS), regardless of what level they're at.

Because each module is developed independently, as of 2012, only certain modules have reached or surpassed the Candidate Recommendation (CR) stage. Notable ones include:

Most of the dozens of other modules are still in draft, and it may take a few months or years before they reach CR, PR or REC. And as mentioned, more are being added all the time, and these will be leveled in their own pace as well.

For information on the status of development of CSS, see the following pages:

  • CSS Current Status - W3C. Specifications listed under Standards have been standardized as W3C Recommendations. This is maintained by W3C; the specifications themselves, however, are maintained by the CSS Working Group, who are directly involved in the development of CSS.

  • CSS Current Work. There's a table of specifications here so you can see at a glance how mature each module is in development. This page is maintained by the CSS Working Group.

  • W3C CSS WG Note. This page describes the development process of the CSS standard. It mentions the term "level", which is used to describe each revision of the CSS standard rather than the term "version":

    2. CSS Levels

    Cascading Style Sheets does not have versions in the traditional sense; instead it has levels. Each level of CSS builds on the previous, refining definitions and adding features. The feature set of each higher level is a superset of any lower level, and the behavior allowed for a given feature in a higher level is a subset of that allowed in the lower levels. A user agent conforming to a higher level of CSS is thus also conformant to all lower levels.

Additionally, given this modularization of CSS, and the completion and standardization of some modules, work has begun on level 4 of these modules, for example Backgrounds and Borders, and Selectors. However, since these modules have just started, don't expect vendors to start supporting these modules for at least another year. As mentioned above, while these modules are progressing to level 4, they aren't officially defined or versioned as "CSS4".


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...