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

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.

But if you don't (which Gecko doesn't, although I've been thinking
about changing it), then you'd end up treating these rules:

  p { margin-left: 1em; margin-start: 2em }
  p { margin-start: 2em; margin-left: 1em }

the same way.  And whichever way it is, one of them would be
incorrect according to CSS cascading rules.

(There are similar cases with CSSOM mutation of style rules, where
the influence of the OM methods on the order of declarations within
a rule isn't defined.  And it doesn't need to be defined, except for
this case.)

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Thursday, 21 October 2010 20:07:34 UTC