- From: Simon Sapin <simon.sapin@exyr.org>
- Date: Fri, 12 Jul 2013 18:16:49 +0100
- To: www-style@w3.org
Le 12/07/2013 17:37, Corey Ford a écrit : > I've been working on specification text for sticky positioning > (previously discussed starting at [1], and currently implemented in > WebKit) that I'd be interested in feedback on: > > [1] http://lists.w3.org/Archives/Public/www-style/2012Jun/0627.html > > > A sticky positioned box is first laid out in the normal flow (equivalent > to position: static). The box may be repositioned as follows, but as > with relative positioning, any repositioning does not affect the box > that follows. > > The box's position depends on its containing block (established as for > position:static) as well as its scrolling container, defined by the > nearest ancestor in the same document with a computed value for > 'overflow-x' or 'overflow-y' other than 'visible', or the viewport if no > such ancestor exists. > > For any of 'top', 'bottom', 'left', and 'right' that are not 'auto', if > the box's normal position would cause that edge of its margin box to be > less than the specified distance within that paddingedge of its > scrolling container, the box is repositioned to that distance from the > edge, such that the box doesnot move while the container scrolls. The > distance the box is repositioned is limited such that the element's > margin box never crosses the oppositeedge of the content box of its > containing block, with the effect thatthe element starts scrolling with > its container again when it reaches the end of its containing block.(If > 'top', 'bottom', 'left', and 'right' are all 'auto', the effect will be > identical to relative positioning with those values). None of these > properties affect the width or height of the element. Percentage values > of these properties reference the padding box of the scrolling container. > > If both 'top' and 'bottom' are not 'auto' and the element's margin box > is taller than the padding boxheight of the scrolling container minus > the sum of 'top' and 'bottom', then only 'top' is considered and > 'bottom' is ignored. Similar logic applies for 'left' and 'right' with > widths, except that if the 'direction' property of the containing block > is 'ltr', 'right' is ignored, and if it is 'rtl', 'left' is ignored. > > Note: Sticky positioned elements are considered 'positioned', so are > z-ordered according to the same rules asrelatively positioned elements, > and establish the containing block of absolutely positioned descendants. > Sticky positioning(like relative positioning)does not affect the > computed value of 'display' as position:absolute does (so does not force > an inline element to be displayed as block). +1, this looks like a reasonable definition. -- Simon Sapin
Received on Friday, 12 July 2013 17:17:00 UTC