- From: François REMY <fremycompany_pub@yahoo.fr>
- Date: Fri, 12 Aug 2011 11:02:13 +0200
- To: "Alex Mogilevsky" <alexmog@microsoft.com>, Øyvind Stenhaug <oyvinds@opera.com>, <www-style@w3.org>
>> This is a very good point. Relative positioning is a visual-only shift,
>> and now there is a different, more powerful way to do the same. If
>> 'position' were used to specify inline/block/etc., a separate property
>> for relative positioning is simply not needed - transform is better.
Just a thought: maybe the display property is more appropriate than the
position property to perform a merge (the current display property accepts
more of the values at this time and is used in other specifications like
MathML).
>> There is another use of 'position:relative' though - making something a
>> containing block for its absolute descendants. There would have to be a
>> new way to create a positioning containing block. If
>> "transform:translate(0,0)" or "transform:scale(1)" does it that's fine,
>> although I wouldn't mind having an explicit way to just do that - it is
>> used a lot, and pretending to position something just for the purpose of
>> creating a coordinate system for children is kinda silly.
I don't think "transform" has an impact on the coordinate system. A solution
would be to create a new property called "coordinates" with values ranging
in "(auto|border-box|padding-box|content-box|from-parent)".
+ "border-box" means that a positionned element inside the element will be
positionned relative to the element boundaries (current
top/left/right/bottom behavior when an element is absolutely postionned).
+ "padding-box" and "content-box" share the same behavior as "border-box"
but define others boundaries that apply to an element. I think those values
are not used anywhere in the current CSS state of the art but they could be
useful in some contexts.
+ "from-parent" means that a positionned element inside the element will be
positionned relative to the parent element (it doesn't mean the same as
"inherit" if the parent has anything else than "from-parent" as value for
the "coordinates" property)
+ "auto" means the current behavior (an element with "position: absolute"
will evaluate as "border-box", an element with "display: inline" will
evalute as "from-parent", ...)
The property could be complexified to allow some offset ("border-box 2px 2px
2px 2px" to remove 2px at each side of the bouding rectangle, or "border-box
50% 50% 0px 0px" to use the center point of the bounding rectangle as the
top left anchor point.
Received on Friday, 12 August 2011 09:02:04 UTC