Re: CSS3-box: margin-outside and the cascade

On Monday 2002-09-02 18:08 -0400, fantasai wrote:
> Ian Hickson wrote:
> > During the CSSWG meeting last week, David Baron came up with an ingenious
> > scheme to solve this. However, the point is pretty moot since, for now, it
> > has been decided to drop the BASE (before/after/start/end) properties to
> > avoid property glut. (To convert CSS2.1 to BASE would require the addition
> > of 34 new properties and 26 new keywords, and CSS3 makes this even worse.)
> Quite understandable. But please keep 'text-align' start/end at least.

I think they are being kept.  There may also be other *values* that are
being kept.  (I know such values have been proposed for 'float'.  I
don't remember the conclusion right now.)  Adding values doesn't have
the cascading problem that adding properties does.

For the record, my proposal to solve the cascading problem [1] was only
*demonstrated* in the CSS2 world with ltr vs. rtl, so it wasn't quite as
messy, and only involved expansion to 3 properties rather than 9 (a more
serious issue when writing a device lacking copy and paste).  The
example expansion that I used was:

  margin-left: 3em;   ==>   margin-left-value: 3em;
                            margin-ltr-left-source: left;
                            margin-rtl-left-source: left;

  margin-start: 40px; ==>   margin-start-value: 40px;
                            margin-ltr-left-source: start;
                            margin-rtl-right-source: start;

Also, for what it's worth, the memory overhead of implementing such a
proposal isn't that bad, since it can be implemented as a bitfield
(although requiring two bits for the specified values due to the need to
note 'unspecified') -- perhaps easier to think about if the values for
*-source were 'physical' and 'logical'.  One final note is that I
proposed that these expansion properties not be explicitly specifiable.



L. David Baron        <URL: >

Received on Thursday, 5 September 2002 12:10:56 UTC