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

On 04/02/2015 07:31 PM, L. David Baron 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.

This issue has been rendered moot by the decision to drop
'sideways-left' from the 'text-orientation' property. (If
we re-introduce this value, we should of course re-consider
this issue.)

~fantasai

Received on Thursday, 1 October 2015 00:47:47 UTC