Re: display-inside/display-outside or layout/position (RE: [css3-regions] content:flow-from() vs. flow-from)

>> 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