- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Wed, 30 Sep 2015 20:47:12 -0400
- To: "L. David Baron" <dbaron@dbaron.org>, www-style@w3.org
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