This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The border-top-right-radius CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
border-top-right-radius: 80px 80px;
border-top-right-radius: 250px 100px;
border-top-right-radius: 50%;
border-top-right-radius: 50%; border: black 10px double; background-clip: content-box;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
This is a box with a top right rounded corner.
</div>
</section>
#example-element {
width: 80%;
height: 80%;
display: flex;
justify-content: center;
flex-direction: column;
background-color: #5b6dcd;
color: white;
padding: 10px;
}
The rounding can be a circle or an ellipse, or if one of the value is 0 no rounding is done and the corner is square.
A background, being an image or a color, is clipped at the border, even a rounded one; the exact location of the clipping is defined by the value of the background-clip property.
Note: If the value of this property is not set in a border-radius shorthand property that is applied to the element after the border-top-right-radius CSS property, the value of this property is then reset to its initial value by the shorthand property.
/* the corner is a circle */ /* border-top-right-radius: radius */ border-top-right-radius: 3px; /* the corner is an ellipse */ /* border-top-right-radius: horizontal vertical */ border-top-right-radius: 0.5em 1em; border-top-right-radius: inherit; /* Global values */ border-top-right-radius: inherit; border-top-right-radius: initial; border-top-right-radius: revert; border-top-right-radius: revert-layer; border-top-right-radius: unset;
With one value:
<length> or a <percentage> denoting the radius of the circle to use for the border in that corner.With two values:
<length> or a <percentage> denoting the horizontal semi-major axis of the ellipse to use for the border in that corner.<length> or a <percentage> denoting the vertical semi-major axis of the ellipse to use for the border in that corner.<length-percentage>Denotes the size of the circle radius or the semi-major and semi-minor axes of the ellipse. As absolute length it can be expressed in any unit allowed by the CSS <length> data type. Percentages for the horizontal axis refer to the width of the box, percentages for the vertical axis refer to the height of the box. Negative values are invalid.
| Initial value | 0 |
|---|---|
| Applies to | all elements; but User Agents are not required to apply to table and inline-table elements when border-collapse is collapse. The behavior on internal table elements is undefined for the moment.. It also applies to ::first-letter. |
| Inherited | no |
| Percentages | refer to the corresponding dimension of the border box |
| Computed value | two absolute <length>s or <percentage>s |
| Animation type | a length, percentage or calc(); |
border-top-right-radius =
<length-percentage [0,∞]>{1,2}
<length-percentage> =
<length> |
<percentage>
A single <length> value produces an arc of a circle.
div {
border-top-right-radius: 40px;
background-color: lightgreen;
border: solid 1px black;
width: 100px;
height: 100px;
}
Two different <length> values produce an arc of an ellipse.
div {
border-top-right-radius: 40px 20px;
background-color: lightgreen;
border: solid 1px black;
width: 100px;
height: 100px;
}
A square element with a single <percentage> value produces an arc of a circle.
div {
border-top-right-radius: 40%;
background-color: lightgreen;
border: solid 1px black;
width: 100px;
height: 100px;
}
A non-square element with a single <percentage> value produces an arc of an ellipse.
div {
border-top-right-radius: 40%;
background-color: lightgreen;
border: solid 1px black;
width: 200px;
height: 100px;
}
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
border-top-right-radius |
41 | 1212 |
4Before Firefox 50, border styles of rounded corners were always rendered as ifborder-style was solid. This has been fixed in Firefox 50. |
10.515 | 53 | 1818 |
4Before Firefox for Android 50, border styles of rounded corners were always rendered as ifborder-style was solid. This has been fixed in Firefox for Android 50. |
1114 | 4.21 | 1.01.0 | 4.44.4 | 4.21 |
elliptical_corners |
1 | 12 | 3.5 | 10.5 | 3 | 18 | 4 | 14 | 1 | 1.0 | 4.4 | 1 |
percentages |
4 | 12 | 41–4Before Firefox 4, the<percentage> was relative to the width of the box even when specifying the radius for a height. This implied that -moz-border-radius-bottomright was always drawing an arc of circle, and never an ellipse, when followed by a single value. |
10.5 | 5 | 18 | 4 | 14 | 4.2 | 1.0 | 4.4 | 4.2 |
border-radius shorthand propertyborder-bottom-right-radius, border-bottom-left-radius, and border-top-left-radius
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius