- From: Monknow via GitHub <sysbot+gh@w3.org>
- Date: Sat, 24 Aug 2024 18:41:18 +0000
- To: public-css-archive@w3.org
Monknow has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-anchor-position-1] have a better example of using math functions with the anchor() function == The example in the draft showing how to use the `anchor` function with math functions involves verbose and complex calculations to center an element over its anchor: https://drafts.csswg.org/css-anchor-position-1/#example-a7ac0832 ```css .centered-message { position: fixed; max-width: max-content; justify-self: center; --center: anchor(--x 50%); --half-distance: min( abs(0% - var(--center)), abs(100% - var(--center)) ); left: calc(var(--center) - var(--half-distance)); right: calc(var(--center) - var(--half-distance)); bottom: anchor(--x top); } ``` This was noted months ago at #8979 and the `anchor-center` value was added as an easy way to achieve a similar behavior. However, the example remains the same at the specs and there isn't another example of using math functions with `anchor()` in a useful way. So I think it would be better to: 1. remove the current example from the spec and, 2. add a new example showing off `anchor()` with math functions Some examples could be using `calc()` to position an element a little inside its anchor top corner, like a notification: https://codepen.io/monknow/pen/gONevrr ```css .target { --target-height: 30px; --target-width: 20px; position: absolute; position-anchor: --my-anchor; left: calc(anchor(right) - var(--target-width) / 2); bottom: calc(anchor(top) - var(--target-height) / 2); height: var(--target-height); width: var(--target-width) } ``` Or this one by Jhey Tompkins that uses `max()` to attach a tooltip to the tallest element and `min()` to the smallest. https://codepen.io/web-dot-dev/pen/PoeNKXJ ```css .chart__tooltip--max { position: absolute; left: anchor(--chart right); bottom: max( anchor(--anchor-1 top), anchor(--anchor-2 top), anchor(--anchor-3 top) ); } .chart__tooltip--min { position: absolute; right: calc(anchor(--chart left) + 1rem); bottom: min( anchor(--anchor-1 top), anchor(--anchor-2 top), anchor(--anchor-3 top) ); } ``` Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10776 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Saturday, 24 August 2024 18:41:19 UTC