- From: Adam Argyle via GitHub <sysbot+gh@w3.org>
- Date: Wed, 07 Sep 2022 16:28:44 +0000
- To: public-css-archive@w3.org
argyleink has just created a new issue for https://github.com/w3c/csswg-drafts:
== New `border-radius` value for perfectly matching nested radii ==
### The Problem:
The majority of implementations where nested border radius are used; are asymmetrical and imperfect. The imperfect solution is easy to do, while the perfect solution is harder.
```css
.card {
border-radius: 24px;
}
.card picture {
border-radius: 24px 24px 0 0;
}
```
<img width="377" alt="Screen Shot 2022-09-07 at 9 15 06 AM" src="https://user-images.githubusercontent.com/1134620/188928477-9b462dd7-b5fd-4141-968d-857c6d418db3.png">
<br>
### Proposed Solution:
A new `border-radius` value for nested elements, making symmetrical and perfectly matching nested radii easy. The math is handled by the browser when the keyword is used: `parent-radius - parent-padding`.
```css
.card {
border-radius: 24px;
}
.card picture {
border-radius: match-nearest-parent match-nearest-parent 0 0;
}
```
<img width="376" alt="Screen Shot 2022-09-07 at 9 15 11 AM" src="https://user-images.githubusercontent.com/1134620/188928638-edbcdfff-8812-4426-8b5b-69f816065526.png">
### Corners compared
Below is a focused screenshot of the corners for comparison. The border radius on the left has a wobble to it, as the curves don't match. The border radius on the right does match and follows the same curve for a nice perfect finish. Which do you want in your design?
<img width="192" alt="Screen Shot 2022-09-07 at 9 11 25 AM" src="https://user-images.githubusercontent.com/1134620/188928131-74bfa790-f31d-49c8-95b9-5567af367b51.png">
### Conclusion
While it's relatively trivial to do the math inside `calc()` with custom properties passed down to children, it's not easy or intuitive. By adding an additional border-radius value that does the effect easily, we'll see better designs because the nice choice is easy and built-in.
**Demo source:**
https://codepen.io/argyleink/pen/LYmpqMB
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7707 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 7 September 2022 16:28:46 UTC