Re: [css3-text-layout] New editor's draft - margin-before/after/start/end etc.

Shinyu Murakami wrote:

> The fallback handling is very important. We want to access to the
> documents (web or ebooks) styled as vertical writing even when we
> cannot use UAs that support vertical writing.

Sure, fallback behavior for any new property is important.  But if
fallback is the main strength of this proposal then there's probably a
simpler way to have graceful fallback for older UAs.

> UAs that supprt vertical writing must suport logical properties. The
> advantages of logical properties for such UAs are obvious. They can
> switch writing modes (horizontal/vertical) by user preference. It's
> easy to write stylesheets suited for both writing modes using only
> logical properties.

I think it's *only* easy when the ideal stylesheet settings for
horizontal and vertical text are swapped versions of each other, in
other words the ideal margin-top and margin-left for horizontal text
are the ideal margin-right and margin-top respectively for vertical
text.  If that's not the case, it's no longer easy, you still need to
define these styles contextually (i.e. have margin/padding/border
settings specific to a given writing mode).  I think making this
assumption is dubious, Japanese horizontal and vertical layout styles
seem very distinct when you look at the details.  And for layouts that
mix horizontal and vertical text I think swapping is going to be more
than a matter of swizzling margins and borders.

Couldn't "user swapping" be thought of in terms of an alternate
stylesheet choice?  This seems far more robust than relying on
changing writing-mode and expecting everything to "just work" (assuming
fallback can be dealt with in other ways).

> To decrease implementation costs for such UAs (i.e., the block-flow
> is always tb), the *-before and the *-after can be simply aliases of
> *-top and *-bottom.

Hmmm, the more I think about it I'm puzzled by the way these logical
and physical properties interact.  The spec says in 5.2 "if the
writing-mode of the element is lr-tb, the computed value of the
‘margin-before’ overrides the ‘margin-top’."  

Are the results different for the two rules below if no other style
rules are defined?

  p {
    writing-mode: lr-tb;
    margin-top: 2em; 
  }

  p {
    writing-mode: lr-tb;
    margin-before: initial;
    margin-top: 2em; 
  }

If the results are different, this seems very un-CSS-like to me.

Regards,

John Daggett

Received on Monday, 7 June 2010 08:10:28 UTC