[csswg-drafts] [css-position] should take writing-mode into account

Loirooriol has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-position] should take writing-mode into account ==
CSS Position seems to assume an horizontal writing mode everywhere, where `direction` affects left or right sides. But in fact `direction` affects the inline-start and inline-end sides, which may be vertical!

Some examples,

 - In https://drafts.csswg.org/css-position-3/#def-cb,

   > In the case that the ancestor is inline-level, the containing block depends on the direction property of the ancestor: 
   > 1. If the direction is ltr, the top and left of the containing block are the top and left content edges of the first box generated by the ancestor, and the bottom and right are the bottom and right content edges of the last box of the ancestor.
   > 2. If the direction is rtl, the top and right are the top and right edges of the first box generated by the ancestor, and the bottom and left are the bottom and left content edges of the last box of the ancestor. 

   should be

   > The block-start and inline-start of the containing block are the block-start and inline-start content edges of the first box generated by the ancestor, and the block-end and inline-end are the block-end and inline-end content edges of the last box of the ancestor.

 - In https://drafts.csswg.org/css-position-3/#rel-pos,

   > If neither left nor right is auto, the position is over-constrained, and one of them has to be ignored. If the direction property of the containing block is ltr, the value of left wins and right becomes -left. If direction of the containing block is rtl, right wins and left is ignored.
   > If neither top and bottom is auto, bottom is ignored (i.e., the used value of bottom will be minus the value of top).

   should be

   > If neither inset-inline-start nor inset-inline-end is auto, the position is over-constrained, inset-inline-start wins and inset-inline-end is ignored (i.e., the used value of inset-inline-end will be minus the value of inset-inline-start).
   > If neither inset-block-start nor inset-block-end is auto, the position is over-constrained, inset-block-start wins and inset-block-end is ignored (i.e., the used value of inset-block-end will be minus the value of inset-block-start).

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3098 using your GitHub account

Received on Tuesday, 11 September 2018 21:06:25 UTC