- 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