Re: [css-writing-modes] float interaction when line-left and line-right swap

Marked as an issue in the spec for now by linking to your e-mail. Can’t find better words than yours, thank you for writing up.

http://dev.w3.org/csswg/css-writing-modes-3/#valdef-text-orientation-sideways-left

/koji

> On Apr 3, 2015, at 08:31, L. David Baron <dbaron@dbaron.org> wrote:
> 
> http://dev.w3.org/csswg/css-writing-modes/#propdef-writing-mode
> says:
> 
>  # If a box has a different block flow direction than its
>  # containing block:
>  #   * [...]
>  #   * If the box is a block container, then it establishes a new
>  #     block formatting context. 
> 
> ("block flow direction" is essentially a value of the writing-mode
> property, so this just means that a new block formatting is
> established when a block has a different writing-mode from its
> containing block.)
> 
> http://dev.w3.org/csswg/css-writing-modes/#line-mappings says:
> 
>  # The line-right and line-left directions are calculated with
>  # respect to the writing mode of the containing block of the box
>  # and used to interpret the left and right values of the following
>  # properties:
>  #
>  #   * the float property [CSS21] 
>  #   * [...]
> 
> http://dev.w3.org/csswg/css-writing-modes/#logical-to-physical
> defines the mappings from writing-mode, text-orientation, and
> direction to line-left and line-right directions.
> 
> Note that this introduces (thanks to 'text-orientation:
> sideways-left' differing from other values of 'text-orientation')
> the concept of a block formatting context in which line-left and
> line-right vary within the block formatting context.
> 
> This, in turn, means that css-writing-modes needs to rewrite the
> rules for float placement to account for this.  I presume that when
> the float placement rules in
> http://dev.w3.org/csswg/css2/visuren.html#float-position refer to
> other left-floating or right-floating boxes (as in rules 2, 3, 7,
> and 9), these sides are intended to refer to a consistent side
> across the entire block formatting context.
> 
> For example, when interpreting rule (2), a left-floating box whose
> containing block is a vertical-rl/sideways-left block should be
> positioned relative to right-floating boxes whose containing block
> is one of its vertical-rl/mixed ancestors within the same block
> formatting context.
> 
> This is in addition, of course, to rewriting the float placement
> rules in terms of logical directions.
> 
> It might be clearest to define a term that says whether a box is
> left-floating or right-floating relative to its block formatting
> context, which would be different from whether the box is
> left-floating or right-floating exactly when the float's containing
> block and the element that establishes its block-formatting context
> both have writing-mode:vertical-*, and one of them has
> text-orientation:sideways-left and the other does not.
> 
> In the absence of a formal definition, it would be useful for the
> specification to at least point out that this issue is more complex
> than it first appears because text-orientation: sideways-left allows
> line-left and line-right to switch sides within a single block
> formatting context.
> 
> 
> (Thankfully, Gecko is not currently implementing sideways-left, so
> we don't need to deal with this right now.)
> 
> -David
> 
> -- 
> π„ž   L. David Baron                         http://dbaron.org/   𝄂
> 𝄒   Mozilla                          https://www.mozilla.org/   𝄂
>             Before I built a wall I'd ask to know
>             What I was walling in or walling out,
>             And to whom I was like to give offense.
>               - Robert Frost, Mending Wall (1914)

Received on Tuesday, 21 April 2015 16:48:22 UTC