CSS border-start-start-radius Property

Beginner
6 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

The border-start-start-radius property rounds the corner where the block-start and inline-start sides meet. The physical corner it maps to depends on writing-mode and direction.

In horizontal-tb with left-to-right text, it matches border-top-left-radius. In RTL, the same declaration rounds the top-right corner instead — without rewriting your CSS.

Baseline · Widely available.

Not deprecated and not experimental. Part of CSS Logical Properties. Prefer it over physical corner radii when layouts must stay correct across LTR, RTL, and writing modes.

CSS Syntax

syntax.css
border-start-start-radius: <length-percentage> <length-percentage>? | initial | inherit;

One value makes a circular arc. Two values set horizontal then vertical radii for an ellipse. Negative values are invalid. Initial value is 0.

Property Values

ValueDescriptionTry it
<length>Fixed size such as 10px or 1em. One value = circular cornerTry it
<percentage>Relative to the border box. Horizontal % uses width; vertical % uses heightTry it
two valuesHorizontal then vertical radius for an elliptical corner, e.g. 40px 12pxTry it
0Default. No rounding on the start-start cornerTry it
initialResets to the default value, 0Try it
inheritTakes the value from the parent elementTry it

How to Use border-start-start-radius

Round one logical corner so the curve follows text direction instead of a fixed physical corner.

  1. Choose the element that should have a rounded start-start corner.
  2. Set border-start-start-radius with a length, percentage, or two values.
  3. Give the box a visible background or border so the curve is easy to see.
  4. Rely on direction and writing-mode — do not hard-code top-left when the layout must flip.
PieceRequired?Role
Length or percentageYes (to round)Default 0 leaves the corner square
Background or borderRecommendedMakes the curve visible while you learn
direction / writing-modeOptionalControls which physical corner the logical radius maps to
Not inheritedBy designSet it on the element you want rounded

Live Preview

Change the radius and the text direction. Watch which physical corner rounds.

In LTR, start-start is top-left. In RTL, the same property rounds top-right.

Corner

border-start-start-radius: 24px · direction: ltr

CSS Examples

Each snippet focuses on border-start-start-radius only. Use Try It Yourself for a live editor.

Example 1 — Circular Corner with a Length

Round the start-start corner with a fixed pixel radius.

CSS
<style>
  div {
    width: 200px;
    height: 100px;
    background: #2563eb;
    border: 2px solid #1e3a8a;
    border-start-start-radius: 24px;
  }
</style>

<div>Start-start</div>
Try It Yourself

How It Works

  1. Size the box. Width and height give the corner something to curve against.
  2. Make it visible. A background and border show the edge clearly.
  3. Set one length. 24px creates a circular arc on the start-start corner only.
  4. Leave other corners square. This property never rounds top-right, bottom-left, or bottom-right by itself.

Example 2 — Elliptical Corner

Use two values so the horizontal and vertical radii differ.

CSS
<style>
  div {
    width: 220px;
    height: 80px;
    background: #0f766e;
    border: 2px solid #115e59;
    border-start-start-radius: 40px 12px;
  }
</style>

<div>Ellipse</div>
Try It Yourself

How It Works

  1. Pass two lengths. The first is the horizontal radius; the second is the vertical radius.
  2. Widen the curve. 40px stretches the arc sideways along the top edge in LTR.
  3. Flatten the height. 12px keeps the vertical part of the curve short.
  4. Result. The start-start corner looks like part of an ellipse, not a quarter-circle.

Example 3 — Same Rule in LTR and RTL

One declaration rounds the inline-start corner on both directions.

CSS
<style>
  .box {
    width: 160px;
    height: 80px;
    background: #2563eb;
    border: 2px solid #1e3a8a;
    border-start-start-radius: 28px;
  }
</style>

<div class="box">LTR</div>
<div class="box" dir="rtl">RTL</div>
Try It Yourself

How It Works

  1. Write one radius. Both boxes share border-start-start-radius: 28px.
  2. Leave the first box LTR. Start-start maps to the physical top-left corner.
  3. Flip the second with dir="rtl". Inline-start moves to the right, so the curve appears on the top-right.
  4. Why it matters. Physical border-top-left-radius would stay on the left in RTL. The logical property follows reading direction.

Edge Cases & Pitfalls

If the wrong corner rounds, or nothing changes, check these first.

map

It is not always top-left

In RTL, start-start is usually top-right. In vertical writing modes it moves again. Check direction and writing-mode before assuming a physical corner.

vs

Physical and logical can fight

If you set both border-start-start-radius and border-top-left-radius, the cascade decides. Prefer one model — logical or physical — for a layout.

%

Percentages follow width and height

A horizontal percentage uses the box width; a vertical percentage uses the height. On a non-square box, 50% is not a perfect quarter-circle unless both axes match.

table

Collapsed tables are unreliable

User agents are not required to apply border radii on table / inline-table when border-collapse: collapse. Internal table elements are also undefined.

neg

Negative values are invalid

A negative length or percentage is dropped. The property then falls back as if that declaration were not there.

Browser Support

border-start-start-radius is a browser CSS property for logical corner radii. Node.js, Deno, and Bun do not apply it.

✓ Baseline · Widely available since 2021

border-start-start-radius

Chrome 89+, Firefox 66+, Safari 15+, Edge 89+, Opera 75+, Samsung Internet 15+. Internet Explorer has no support.

97% Global support
Google Chrome 89+
Full support
Mozilla Firefox 66+
Full support
Apple Safari 15+
Full support
Microsoft Edge 89+
Full support
Opera 75+
Full support
Samsung Internet 15+
Full support
Internet Explorer No support
Not supported
border-start-start-radius Widely supported

Bottom line: Safe in current browsers for multilingual and writing-mode-aware UI. Fall back to physical radii such as border-top-left-radius only when you must support Internet Explorer. It is not a runtime API.

Key Takeaways

  • Role: round the logical block-start + inline-start corner.
  • Mapping: LTR horizontal → top-left; RTL horizontal → top-right.
  • Values: one length/percentage for a circle; two values for an ellipse.
  • Initial value: 0. Not inherited.

One line: use border-start-start-radius when the rounded corner should follow reading direction, not a fixed screen corner.

Frequently Asked Questions

It rounds the logical corner where the block-start edge meets the inline-start edge. In horizontal left-to-right text, that is usually the top-left corner.
border-top-left-radius always rounds the physical top-left corner. border-start-start-radius follows writing-mode and direction, so the same rule can round a different physical corner in RTL or vertical layouts.
The initial value is 0, so the start-start corner is square until you set a length or percentage.
Yes. One value makes a circular arc. Two values set the horizontal and vertical radii for an elliptical corner, for example 40px 12px.
Yes. Percentages refer to the corresponding dimension of the border box: the horizontal axis uses the width, and the vertical axis uses the height. Negative values are invalid.
It is Baseline Widely available since September 2021: Chrome 89+, Firefox 66+, Safari 15+, Edge 89+. Internet Explorer has no support. It is a browser CSS property, not a Node.js feature.

Next: border-style

Choose solid, dashed, dotted, and other border line styles.

border-style tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful