[css-page-floats] block-start/end and left/right values

CSS Page Floats
4.2. The float property
http://dev.w3.org/csswg/css-page-floats/#float-property

> block-start
>   If the float reference is a line box, block-start behaves like inline-start.
>   ...
> block-end
>   If the float reference is a line box, block-end behaves like inline-end.
>   ...
> left
>   Behave like block-end, inline-start or inline-end depending on the 
>   float containing block’s direction and writing-mode.
> right
>   Behave like block-start, inline-start or inline-end depending on the 
>   float containing block’s direction and writing-mode.

I think these definitions have problem and need to be fixed.

Consider 'float: right' in vertical-rl writing-mode and this float is a normal float (not page/column/region).
The float value 'right' will behave like block-start in this case, and block-start behaves like inline-start.
The 'inline-start' maps to 'top' in vertical-rl writing-mode. So 'float: right' in vertical-rl writing-mode is floated to top. This is not consistent with CSS Writing Modes ('float: right' is floated to bottom in vertical writing modes):

CSS Writing Modes
7.5. Line-Relative Mappings
http://dev.w3.org/csswg/css-writing-modes/#line-mappings

> 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]
>   the clear property [CSS21]

I think the left/right value should be treated as line-left and line-right, as described in Writing Modes, when the float is not a page(column/region) float.

--
Shinyu Murakami (村上 真雄)
CEO & Founder, Vivliostyle Inc.
http://vivliostyle.com
murakami@vivliostyle.com

Received on Tuesday, 19 May 2015 05:52:05 UTC