- From: François REMY <fremycompany_pub@yahoo.fr>
- Date: Wed, 20 Aug 2008 10:44:54 +0200
- To: "Alan Gresley" <alan@css-class.com>
- Cc: "L. David Baron" <dbaron@dbaron.org>, "Anton Prowse" <prowse@moonhenge.net>, <www-style@w3.org>
Hello, I see two use-cases for a "position-stack" property. One of the two can be work-aroundable but the second one need total change of the structure of the page. ================ UC 1 : This property will allow designer to do such type of things : <html><body><div> Some content : <div style="inline:block; height: 1.12em; width: 100px; position-stack: create-new;"> <img class="top left corner" /> <img class="top right corner" /> <img class="bottom left corner" /> <img class="bottom right corner" /> </div>. It worked great ! </div></body></html> .top { position: absolute; top: 0px; width: 50px; height: 3px; } .left { position: absolute; left: 0px; width: 50px; height: 3px; } ... Currently, there's a work-around but it's not beautiful : <html><body><div> Some content : <div style="inline:block; height: 1.12em; width: 100px;"><div style="width: 100px; height: 1.12em; position: relative"> <img class="top left corner" /> <img class="top right corner" /> <img class="bottom left corner" /> <img class="bottom right corner" /> </div></div>. It worked great ! </div></body></html> "Position: relative" is used to create a new stacking context but it can breaks some other things. ============================ UC 2 : They're also problems if you have something like : <div class="relative" style="z-index: 1"> A : I want to be above B <div class="absolute">C : I want to be below D </div> <div class="relative"> B : I want to be below A <div class="absolute" style="z-index: 2">D : I want to be above C </div> If we can avoid the creation of a new stacking context inside the "relative" elements, the problem would be solvable (if we consider that the inner blocks must have the absolute positions relatives to the grand-parent and not the parent. Currently, there's no work-around. We must change the structure of the DOM, if it's possible. Fremy -------------------------------------------------- From: "Alan Gresley" <alan@css-class.com> Sent: Wednesday, August 20, 2008 5:38 AM To: "François REMY" <fremycompany_pub@yahoo.fr> Cc: "L. David Baron" <dbaron@dbaron.org>; "Anton Prowse" <prowse@moonhenge.net>; <www-style@w3.org> Subject: Re: [CSS21] stack level definitions in 9.9.1 > François REMY wrote: >> >> I propose that we also can have a "position-stack" >> property with the following values : >> >> - [initial] "auto" : A new local stacking context is >> created as the rules are defined in CSS 2.1/3.0 >> (computed to "create-new" if a new stacking context is >> needed, to "keep-old" otherwhise). >> >> - "create-new" : A new local stacking context is created >> anytime (top/left/right/bottom of children now refer >> to positions relatives to the element, even if these >> element is not a float or absolutely positionned >> element) >> >> - "keep-old" : No new stacking context is created even >> if the element is absolutely positionned or floated >> (top/left/right/bottom of children now refer to >> positions relatives to the nearest stacking context). >> > [..] > > > Francoiss, can you clearly state why there are problems in the current > spec for the *block formating context* (with test cases). I can only see > issues concerning *overflow*. > > > -- > Alan http://css-class.com/ > > Nearly all men can stand adversity, but if you want to test a man's > character, give him power - Abraham Lincoln > > Save the Internet - http://www.savetheinternet.com/
Received on Wednesday, 20 August 2008 08:45:32 UTC