- From: Brad Kemper <brad.kemper@gmail.com>
- Date: Sun, 19 Jul 2015 12:03:41 -0700
- To: Florian Rivoal <florian@rivoal.net>
- Cc: Hyojin Song <hyojin22.song@lge.com>, www-style <www-style@w3.org>
> On Apr 29, 2015, at 2:17 PM, Florian Rivoal <florian@rivoal.net> wrote: > > 19) "When the position property on an element is set to 'polar', its children use the polar coordinates." > Why do you set this on the parent rather than on the children? If you do that, I am not sure what the computed value of the the position property is on the children. > > I would suggest setting position: polar on the children, and defining that the element which establishes the polar coordinate system is its containing block, where the containing block of a polar positioned element is defined the same way as the containing block of a containing block of an absolute element. This means we could also add "position: fixed polar", which would do the same as polar, but with the viewport as the containing block. I think it can be even simpler, if we get rid of 'position: polar', and just let 'polar-angle' and 'polar-distance' work within 'position: absolute | fixed | relative' in the same way that top, right, bottom, and left do. So, for instance: position: absolute; polar-angle:90deg; polar-distance:90%; ...would put something in the 3 o'clock position, near the right edge of the containing block (100% would mean the item's center would align with the edge of an ellipse that was aligned with the edges of the containing block). And this: position: relative; polar-angle:30deg; polar-distance:10px; top: 5px; ...would move an item down 5px, and toward the 1 o'clock position 10px. The initial value for polar-distance would be 'auto'. The initial value for polar-angle would still be zero, since it only affects anything when polar-distance is a number greater than zero. For 'position: absolute | fixed', combining a non-auto value of 'polar-distance' with 'top', 'right', 'bottom', or 'left', would make those 4 properties act as additional offsets (instead of being distances from their respective edges). That is, you would move the item up, down, right, or left relative where 'polar-distance' had moved it. Or, an alternative proposal for this part: For 'position: absolute | fixed', combining a non-auto value of 'polar-distance' with a non-auto value of 'top', 'right', 'bottom', or 'left', would make the zero point of 'polar-distance' be wherever those 4 properties indicated. Not sure which of those two alternatives would be more useful. ---------- By doing it this way, you would only be adding two new properties instead of three, and the way it worked would be much more consistent with the way other positioning properties work, and the least surprising.
Received on Sunday, 19 July 2015 19:04:11 UTC