From 471d90fc0d0063bc267540266bb7adacbf013df2 Mon Sep 17 00:00:00 2001 From: Tab Atkins-Bittner Date: Thu, 9 Nov 2023 09:37:15 -0800 Subject: [PATCH] [css-anchor-position-1] Add 'inset-area' property. #9145 --- css-anchor-position-1/Overview.bs | 237 ++++++++++++++++-- .../images/inset-area-example.png | Bin 0 -> 57452 bytes 2 files changed, 222 insertions(+), 15 deletions(-) create mode 100644 css-anchor-position-1/images/inset-area-example.png diff --git a/css-anchor-position-1/Overview.bs b/css-anchor-position-1/Overview.bs index 19da9526ec1e..06d26b85ae29 100644 --- a/css-anchor-position-1/Overview.bs +++ b/css-anchor-position-1/Overview.bs @@ -347,12 +347,219 @@ Anchor-Based Positioning {#positioning} ======================== An [=absolutely-positioned=] element -can use the anchor() function -in its [=inset properties=] -to refer to the position of one or more [=anchor elements=]. -The ''anchor()'' function resolves to a <>, -exactly what is needed to position the given inset edge -to the specified position on the [=anchor element=]. +can position itself relative to one or more [=anchor elements=] on the page. + +The 'inset-area' function offers a convenient grid-based concept +for positioning relative to the [=default anchor element=]; +for more complex positioning or positioning relative to multiple elements, +the ''anchor()'' function can be used in the [=inset properties=] +to explicitly refer to edges of an [=anchor element=]. + +The 'inset-area' Property {#inset-area} +--------------------------------------- + +
+Name: inset-area
+Value: none |  [ /  ]?
+Initial: none
+Inherited: no
+Applies to: positioned elements with a [=default anchor element=]
+Animation type: TBD
+
+ +
+<inset-area-span> =
+	[ top || bottom || center ] |
+	[ left || right || center ] |
+	[ x-start || x-end || center ] |
+	[ y-start || y-end || center ] |
+	[ start || end || center ] |
+	[ self-start || self-end || center ] |
+	all
+
+ +Most common use-cases of anchor positioning +only need to worry about +the edges of the positioned element's [=containing block=], +and the edges of the [=default anchor element=]. +These lines can be thought of as defining a 3x3 grid; +'inset-area' lets you easily set up the positioned element's [=inset properties=] +by specifying what area of this [=inset-area grid=] you want the positioned element to be in. +Its syntax is: + +
+ : none + :: The property has no effect. + + : <> + :: Behaves as <inset-area-span> / all, + filling the entire row/column of the grid + indicated by the specified value. + + : <> [ / <> ]? + :: + If the element does not have a [=default anchor element=], + or is not an [=absolutely-positioned=] element, + this value has no effect. + + Otherwise, the two spans define a rectangular region + of the [=inset-area grid=], + and have the following effects: + + 1. Any ''top/auto'' [=inset properties=] compute to + the appropriate value + to match the rectangular region. + 2. The ''align-self/normal'' value for the [=self-alignment properties=] + behaves as either ''align-self/start'', ''align-self/end'', + or ''align-self/anchor-center'', + depending on the positioning of the region, + to give a good default alignment for the positioned element. + + See [[#resolving-spans]] for details on both of these effects. + If the two <>s do not define a valid region, + this property is invalid. +
+ + +

+Resolving <>s

+ +The inset-area grid is conceptually a 3x3 grid, +composed of four grid lines in each axis. +In order: + +* the start edge of the element's [=containing block=] + (aka the position referred to by ''top: 0px;'' + or whatever [=inset property=] corresponds to + the start side fo the containing block) +* the ''anchor(start)'' edge of the [=default anchor element=] +* the ''anchor(end)'' edge of the [=default anchor element=] +* the end edge of the element's [=containing block=] + (aka the position referred to by ''bottom: 0px'', + or whatever [=inset property=] is opposite the first one) + +Each <> specifies 1-3 regions in a given axis of that grid: +the "start" region between the first two of those grid lines; +the "center" region between the center two; +or the "end region" between the last two. + +
+ : all + :: All three regions of that axis, + spanning the entire breadth of the containing block. + + : start + : end + : self-start + : self-end + : center + : top + : bottom + : y-start + : y-end + : left + : right + : x-start + : x-end + :: Any single keyword refers just to that region in the axis. + + Like in ''anchor()'', + ''inset-area/start'' and ''inset-area/end'' + refer to the writing mode of the element's [=containing block=], + while ''inset-area/self-start'' and ''inset-area/self-end'' + refer to the element's own writing mode. + + : two keywords + :: Refers to the area spanned by the two indicated regions. + + (For example, ''top center'' spans the first two regions, + but ''top bottom'' spans all three.) + + : three keywords + :: Refers to all three regions in the axis, + identical to ''inset-area/all'' +
+ +Two spans referring to different axises +thus define a rectangular region of the [=inset-area grid=]. + +To determine the axises of two spans: + +* If a span include a keyword that implies a physical axis + (''inset-area/top'', ''inset-area/x-start'', etc), + that's its axis. +* If both of the spans include a physical keyword, + they must refer to different axises. + If not, then the two spans do not define a valid region. +* If one of the spans include a physical keyword, + and the other doesn't + (it only includes ambiguous keywords, + like ''inset-area/center'' or ''inset-area/start''), + then the other span's axis is perpendicular to the physical one. +* If neither span includes a physical keyword, + the first refers to the [=block axis=] + of the [=containing block=], + and the second to the [=inline axis=]. + +If the spans define a valid region, +they cause ''top/auto'' values for the [=inset properties=] +to compute to values that will align the [=inset-modified containing block=] +with the boundary of the defined region +on that side. + +Each span also implies a default alignment, +which will be used if the [=self-alignment property=] on the element +is ''align-self/normal'': + +* If the span includes the center region, + the default alignment in that axis is ''align-self/anchor-center''. +* Otherwise, it's the opposite of the region it specifies: + if it's specifying the "start" region, + the default alignment in that axis is ''align-self/end''; etc. + +
+ For example, assuming an English-equivalent writing mode (horizontal-tb, ltr), + then the spans ''start center / top'' resolve to + the "start" region of the vertical axis, + and the "start" and "center" regions of the horizontal axis, + which will compute the [=inset properties=] to: + +
+	/* "auto" computes to: */
+	top: 0px;
+	bottom: anchor(start);
+	left: 0px;
+	right: anchor(end);
+	/* "normal" behaves as: */
+	align-self: end;
+	justify-self: anchor-center;
+	
+ + In other words, its [=inset-modified containing block=] + will be the pink region in the below diagram, + and the positioned element + will be centered against the top edge of the anchor. + +
+ +
+ An example of ''inset-area: start center / top'' positioning. +
+
+ +Note: While the [=default anchor element=] can actually be positioned +outside of the positioned element's [=containing block=], +for the purpose of 'inset-area''s effects +it's considered to be within the block, +so the grid lines always have the described order. +That is, even if the anchor is entirely below the containing block, +a ''inset-area/bottom'' span will still cause the element to behave as +''top: anchor(end); bottom: 0px; align-content: start;''; +the rules for handling over-constrained [=inset properties=] +will resolve the contradiction. + + + The ''anchor()'' Function {#anchor-pos} --------------------------------------------------- @@ -415,7 +622,7 @@ The ''anchor()'' function has three arguments: Note: These are only usable in the [=inset properties=] in the matching axis. - For example, ''left'' is usable in 'left', 'right', + For example, ''anchor()/left'' is usable in 'left', 'right', or the logical [=inset properties=] that refer to the horizontal axis. : start @@ -426,18 +633,18 @@ The ''anchor()'' function has three arguments: in the same axis as the [=inset property=] it's used in, by resolving the keyword against the [=writing mode=] of either the positioned element - (for ''self-start'' and ''self-end'') + (for ''anchor()/self-start'' and ''anchor()/self-end'') or the positioned element's containing block - (for ''start'' and ''end''). + (for ''anchor()/start'' and ''anchor()/end''). : <> : center :: Refers to a position - a corresponding percentage between the ''start'' and ''end'' sides, - with ''0%'' being equivalent to ''start'' - and ''100%'' being equivalent to ''end''. + a corresponding percentage between the ''anchor()/start'' and ''anchor()/end'' sides, + with ''0%'' being equivalent to ''anchor()/start'' + and ''100%'' being equivalent to ''anchor()/end''. - ''center'' is equivalent to ''50%''. + ''anchor()/center'' is equivalent to ''50%''. * the optional <> final argument is a fallback value, specifying what the function should resolve to @@ -687,7 +894,7 @@ for non-''justify-self/auto'' alignment values. If the element is not [=absolutely positioned=], or does not have a [=default anchor element=], -this value behaves as ''center'' +this value behaves as ''/center'' and has no additional effect on how [=inset properties=] resolve. Issue: Do we want to hook the "try to stay in the IMCB" behavior to safe vs unsafe? @@ -784,7 +991,7 @@ only if all the following conditions are true: on an [=absolutely-positioned=] element. * If its <> specifies a physical keyword, it's being used in an [=inset property=] in that axis. - (For example, ''left'' can only be used in 'left', 'right', + (For example, ''anchor()/left'' can only be used in 'left', 'right', or a logical [=inset property=] in the horizontal axis.) * The result of determining the [=target anchor element=] is not nothing when given the querying element as the element it's used on, diff --git a/css-anchor-position-1/images/inset-area-example.png b/css-anchor-position-1/images/inset-area-example.png new file mode 100644 index 0000000000000000000000000000000000000000..a29d44ac147287d364cf4ec6d2c7e72a03fb0b8b GIT binary patch literal 57452 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