W3C home > Mailing lists > Public > www-style@w3.org > October 2010

Re: [css3-writing-modes] a third option for implementing logical properties

From: L. David Baron <dbaron@dbaron.org>
Date: Thu, 21 Oct 2010 13:17:23 -0700
To: David Hyatt <hyatt@apple.com>
Cc: www-style@w3.org
Message-ID: <20101021201723.GA19286@pickering.dbaron.org>
On Thursday 2010-10-21 15:12 -0500, David Hyatt wrote:
> On Oct 21, 2010, at 3:06 PM, L. David Baron wrote:
> 
> > On Thursday 2010-10-21 15:00 -0500, David Hyatt wrote:
> >> Can you explain this further?  I don't really understand what
> >> you're suggesting.  Examples would help.
> >> 
> >> In WebKit, which implements all of the logical properties, we just
> >> resolve direction and writing-mode first (similar to what
> >> implementations have to do for font), and then we map the logical
> >> property to a physical property.  This is all very simple and
> >> takes very little code.  Is there some problem with this approach
> >> that I'm missing?
> > 
> > If you maintain declaration order within your declaration storage,
> > and use that declaration order when you're cascading, then it's not
> > an issue.
> > 
> 
> I see.  We do maintain the declaration order in WebKit and use it
> when we cascade.  It seems desirable to maintain the order for
> stylesheet serialization.

Even then, it's still not defined what happens when you do:

  <div id="d" style="margin-left: 1em; margin-start: 2em"></div>

  var d = document.getElementById("d");
  d.style.marginLeft = '3em';

Does the d.style.marginLeft setter remove the existing declaration
and append a new one, or does it replace the existing value?  The
CSSOM spec doesn't define this, and except for serialization it's
currently not detectable.  But if we rely purely on order and not on
a notion of these properties being shorthands, then it needs to be
defined.

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/
Received on Thursday, 21 October 2010 20:17:55 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:33 GMT