Re: Things changing in the spec

On 4/1/04 12:29 PM, "Boris Zbarsky" <bzbarsky@MIT.EDU> wrote:

> restrictions required by CSS2 non-compliant

AFAICT, that clause is the source of the confusion.

That clause doesn't make any sense.

The only restrictions required are to ignore values that you do not
understand.

CSS is made of levels.  Each level adds to the next (for the most part).

Conforming to one level (e.g. CSS1) does not make you "non-conformant" to
the next level, it just means you only support that one level, and perhaps
you only partially support the next level.

E.g. the background-position property in CSS1 allowed a certain set of
values.

In CSS2.1, additional sets of values were allowed.

Thus a CSS1 implementation of background-position understands a certain set
of values.  A CSS2.1 implementation understands more values.  A CSS1
implementation is *expected* to ignore those new values.  There is nothing
wrong with that.  Profiles similarly restrict which sets of values an
implementation can be expected to understand.

Adding new values to properties does not "break" old implementations.  Those
old implementations simply remain implementations of the old values.

Same thing with which properties can apply to various pseudo-elements.  It
makes sense that latter levels allow/expect more properties to work on
various pseudo-elements.

This is how CSS forward/backward compatibility works.

Tantek

Received on Thursday, 1 April 2004 19:28:35 UTC