snippetcssTip
Perfect nested border radius in CSS
Viewed 0 times
nestedcssradiusborderperfect
Problem
Nesting elements with rounded borders can look very wrong if not done correctly. Luckily, there's a simple math trick to make it look right. All you need to do is calculate the border radius of one of the elements and the distance between them.
The border radius of the outer element should be equal to the sum of the border radius of the inner element and the distance between the two elements. This can be mathematically expressed as
!Nested border radius formula
Let's take a look at a simple CSS example. Say we want to style two nested boxes with rounded borders. The outer box has a
Using CSS variables, we can make this even easier. Depending on the use case, we can adapt the formula to calculate the outer radius from the inner one, or the other way around. Here's an example of how to do this:
The border radius of the outer element should be equal to the sum of the border radius of the inner element and the distance between the two elements. This can be mathematically expressed as
innerRadius + distance = outerRadius or more tersely R1 + D = R2.!Nested border radius formula
Let's take a look at a simple CSS example. Say we want to style two nested boxes with rounded borders. The outer box has a
border-radius of 24px and a padding of 8px. Using the previous formula, we can deduce that the inner box should have a border-radius of 16px.Using CSS variables, we can make this even easier. Depending on the use case, we can adapt the formula to calculate the outer radius from the inner one, or the other way around. Here's an example of how to do this:
Solution
.outer {
border-radius: 24px;
padding: 8px;
}
.inner {
border-radius: 16px;
}!Nested border radius formula
Let's take a look at a simple CSS example. Say we want to style two nested boxes with rounded borders. The outer box has a
border-radius of 24px and a padding of 8px. Using the previous formula, we can deduce that the inner box should have a border-radius of 16px.Using CSS variables, we can make this even easier. Depending on the use case, we can adapt the formula to calculate the outer radius from the inner one, or the other way around. Here's an example of how to do this:
<code-tabs>
```css title="From outer radius"
.outer {
Code Snippets
.outer {
border-radius: 24px;
padding: 8px;
}
.inner {
border-radius: 16px;
}Context
From 30-seconds-of-code: nested-border-radius
Revisions (0)
No revisions yet.