border-top-left-radius

  • Revision slug: Web/CSS/border-top-left-radius
  • Revision title: border-top-left-radius
  • Revision id: 394821
  • Created:
  • Creator: Sheppy
  • Is current revision? No
  • Comment Moved From CSS/border-top-left-radius to Web/CSS/border-top-left-radius

Revision Content

{{ CSSRef() }}

Summary

The border-top-left-radius CSS property sets the rounding of the top-left corner of the element. 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.

border-radius.png

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 {{ cssxref("background-clip") }} property.

If the value of this property is not set in a {{ cssxref("border-radius") }} shorthand property that is applied to the element after the border-top-left-radius CSS property, the value of this property is then reset to its initial value by the shorthand property.

{{cssbox("border-top-left-radius")}}

Syntax

Formal syntax: {{csssyntax("border-top-left-radius")}}  
border-top-left-radius: radius               /* the corner is a circle    */  E.g. border-top-left-radius: 3px
border-top-left-radius: horizontal vertical  /* the corner is an ellipsis */  E.g. border-top-left-radius: 0.5em 1em

border-top-left-radius: inherit

where:

radius
Is a {{ xref_csslength() }} or a {{ xref_csspercentage() }} denoting the radius of the circle to use for the border in that corner.
horizontal
Is a {{ xref_csslength() }} or a {{ xref_csspercentage() }} denoting the horizontal semi-major axis of the ellipsis to use for the border in that corner.
vertical
Is a {{ xref_csslength() }} or a {{ xref_csspercentage() }} denoting the vertical semi-major axis of the ellipsis to use for the border in that corner.

Values

<length>
Denotes the size of the circle radius or the semi-major and semi-minor axes of the ellipsis. It can be expressed in any unit allowed by the CSS {{ xref_csslength() }} data types. Negative values are invalid.
<percentage>
Denotes the size of the circle radius, or the semi-major and semi-minor axes of the ellipsis, using percentage values. Percentages for the horizontal axe refer to the width of the box, percentages for the vertical axe refer to the height of the box. Negative values are invalid.

Examples

Live example Code
 
An arc of circle is used as the border
div {
  border-top-left-radius: 40px 40px;
}
 
An arc of ellipse is used as the border
div {
  border-top-left-radius: 40px 20px;
}
 
The box is a square: an arc of circle is used as the border
div 
  border-top-left-radius: 40%;
}
 
The box is not a square: an arc of ellipse is used as the border
div {
  border-top-left-radius: 40%;
}
 
The background color is clipped at the border
div {
  border-top-left-radius:40%;
  border-style: black 3px double;
  background-color: rgb(250,20,70);
  background-clip: content-box;
}

Specifications

Specification Status Comment
{{ SpecName('CSS3 Backgrounds', '#the-border-radius', 'border-top-left-radius') }} {{ Spec2('CSS3 Backgrounds') }} Initial specification

Browser compatibility

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 0.2 {{ property_prefix("-webkit") }}

1.0 (1.0) - 12.0 (12.0){{ property_prefix("-moz") }}
but with a non-standard name:
-moz-border-radius-topleft

9.0 10.5 3.0 (522){{ property_prefix("-webkit") }}
4.0 4.0 (2.0) 5.0 (532.5)
Percentages 4.0 1.0 (1.0) with a bug (see note) 9.0 10.5 5.0 (532.5)
4.0 (2.0)
Elliptical corners 0.2 3.5 (1.9.1) 9.0 10.5 3.0 (522 )
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}

Browser notes

Gecko

  • The prefixed version (allowed from Firefox 1 to Firefox 12) of this property uses a different name, -moz-border-radius-topleft, than the final property as Mozilla implemented it before the final name was coined.
  • Before Firefox 4, the {{ xref_csspercentage() }} was relative to the width of the box even when specifying the radius for a height). This implied that -moz-border-radius-topleft was always drawing an arc of circle, and never an ellipse, when followed by a single value.
  • Gecko is not able to display dotted and dashed rounded corners correctly: it displays them as solid ({{ bug("382721") }}).

See also

The border-radius-related CSS properties: the CSS shorthand {{ cssxref("border-radius") }}, the properties for the other corners: {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-right-radius") }}, and {{ cssxref("border-bottom-left-radius") }}.

Revision Source

<p>{{ CSSRef() }}</p>
<h2 id="Summary">Summary</h2>
<p>The <code>border-top-left-radius</code> CSS property sets the rounding of the top-left corner of the element. The rounding can be a circle or an ellipse, or if one of the value is <code>0</code> no rounding is done and the corner is square.</p>
<div style="text-align:center">
  <img alt="border-radius.png" class="internal default" src="/@api/deki/files/6132/=border-radius.png" style="" /></div>
<p>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 {{ cssxref("background-clip") }} property.</p>
<div class="note">
  If the value of this property is not set in a {{ cssxref("border-radius") }} shorthand property that is applied to the element after the <code>border-top-left-radius</code> CSS property, the value of this property is then reset to its initial value by the <a href="/en/CSS/Shorthand_properties" title="en/CSS/Shorthand_properties">shorthand property</a>.</div>
<p>{{cssbox("border-top-left-radius")}}</p>
<h2 id="Syntax">Syntax</h2>
<pre class="twopartsyntaxbox">
<a href="/en-US/docs/CSS/Value_definition_syntax" title="/en-US/docs/CSS/Value_definition_syntax">Formal syntax</a>: {{csssyntax("border-top-left-radius")}}  </pre>
<pre>
border-top-left-radius: <em>radius</em>               /* the corner is a circle    */  E.g. border-top-left-radius: 3px
border-top-left-radius: <em>horizontal</em> <em>vertical</em>  /* the corner is an ellipsis */  E.g. border-top-left-radius: 0.5em 1em

border-top-left-radius: inherit
</pre>
<div style="font-size: 0.9em;">
  <p style="float:left; margin:0:">where:</p>
  <dl style="padding-left:6em;">
    <dt style="float:left;width:7.5em">
      <em>radius</em></dt>
    <dd style="padding-left:7.5em">
      Is a {{ xref_csslength() }} or a {{ xref_csspercentage() }} denoting the radius of the circle to use for the border in that corner.</dd>
    <dt style="float:left;width:7.5em">
      <em>horizontal</em></dt>
    <dd style="padding-left:7.5em">
      Is a {{ xref_csslength() }} or a {{ xref_csspercentage() }} denoting the horizontal semi-major axis of the ellipsis to use for the border in that corner.</dd>
    <dt style="float:left;width:7.5em">
      <em>vertical</em></dt>
    <dd style="padding-left:7.5em">
      Is a {{ xref_csslength() }} or a {{ xref_csspercentage() }} denoting the vertical semi-major axis of the ellipsis to use for the border in that corner.</dd>
  </dl>
</div>
<h3 id="Values">Values</h3>
<dl>
  <dt>
    <code>&lt;length&gt;</code></dt>
  <dd>
    Denotes the size of the circle radius or the semi-major and semi-minor axes of the ellipsis. It can be expressed in any unit allowed by the CSS {{ xref_csslength() }} data types. Negative values are invalid.</dd>
  <dt>
    <code>&lt;percentage&gt;</code></dt>
  <dd>
    Denotes the size of the circle radius, or the semi-major and semi-minor axes of the ellipsis, using percentage values. Percentages for the horizontal axe refer to the width of the box, percentages for the vertical axe refer to the height of the box. Negative values are invalid.</dd>
</dl>
<h2 id="Examples">Examples</h2>
<table class="standard-table">
  <thead>
    <tr>
      <th>Live example</th>
      <th>Code</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding:1.5em;">
        <div style="background-color:lightgreen;border:solid 1px black;border-top-left-radius:40px 40px;width:100px;height:100px">
          &nbsp;</div>
      </td>
      <td>An arc of circle is used as the border
        <pre>
div {
  border-top-left-radius: 40px 40px;
}</pre>
      </td>
    </tr>
    <tr>
      <td style="padding:1.5em;">
        <div style="background-color:lightgreen;border:solid 1px black;border-top-left-radius:40px 20px;width:100px;height:100px">
          &nbsp;</div>
      </td>
      <td>An arc of ellipse is used as the border
        <pre>
div {
  border-top-left-radius: 40px 20px;
}
</pre>
      </td>
    </tr>
    <tr>
      <td style="padding:1.5em;">
        <div style="background-color:lightgreen;border:solid 1px black;border-top-left-radius:40%;width:100px;height:100px">
          &nbsp;</div>
      </td>
      <td>The box is a square: an arc of circle is used as the border
        <pre>
div 
  border-top-left-radius: 40%;
}
</pre>
      </td>
    </tr>
    <tr>
      <td style="padding:1.5em;">
        <div style="background-color:lightgreen;border:solid 1px black;border-top-left-radius:40%;width:100px;height:200px">
          &nbsp;</div>
      </td>
      <td>The box is not a square: an arc of ellipse is used as the border
        <pre>
div {
  border-top-left-radius: 40%;
}
</pre>
      </td>
    </tr>
    <tr>
      <td style="padding:1.5em;">
        <div style="border:black 3px double;border-top-left-radius:40%;height:100px;width:100px;background-color:rgb(250,20,70);background-clip:content-box;">
          &nbsp;</div>
      </td>
      <td>The background color is clipped at the border
        <pre>
div {
  border-top-left-radius:40%;
  border-style: black 3px double;
  background-color: rgb(250,20,70);
  background-clip: content-box;
}
</pre>
      </td>
    </tr>
  </tbody>
</table>
<h2 id="Specifications" name="Specifications">Specifications</h2>
<table class="standard-table">
  <thead>
    <tr>
      <th scope="col">Specification</th>
      <th scope="col">Status</th>
      <th scope="col">Comment</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>{{ SpecName('CSS3 Backgrounds', '#the-border-radius', 'border-top-left-radius') }}</td>
      <td>{{ Spec2('CSS3 Backgrounds') }}</td>
      <td>Initial specification</td>
    </tr>
  </tbody>
</table>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Feature</th>
        <th>Chrome</th>
        <th>Firefox (Gecko)</th>
        <th>Internet Explorer</th>
        <th>Opera</th>
        <th>Safari (WebKit)</th>
      </tr>
      <tr>
        <td rowspan="2">Basic support</td>
        <td>0.2 {{ property_prefix("-webkit") }}</td>
        <td>
          <p>1.0 (1.0) - 12.0 (12.0){{ property_prefix("-moz") }}<br />
            but with a non-standard name:<br />
            <code>-moz-border-radius-topleft</code></p>
        </td>
        <td rowspan="2">9.0</td>
        <td rowspan="2">10.5</td>
        <td>3.0 (522){{ property_prefix("-webkit") }}</td>
      </tr>
      <tr>
        <td>4.0</td>
        <td>4.0 (2.0)</td>
        <td>5.0 (532.5)</td>
      </tr>
      <tr>
        <td rowspan="2">Percentages</td>
        <td rowspan="2">4.0</td>
        <td>1.0 (1.0) with a bug (see note)</td>
        <td rowspan="2">9.0</td>
        <td rowspan="2">10.5</td>
        <td rowspan="2">5.0 (532.5)</td>
      </tr>
      <tr>
        <td>4.0 (2.0)</td>
      </tr>
      <tr>
        <td>Elliptical corners</td>
        <td>0.2</td>
        <td>3.5 (1.9.1)</td>
        <td>9.0</td>
        <td>10.5</td>
        <td>3.0 (522 )</td>
      </tr>
    </tbody>
  </table>
</div>
<div id="compat-mobile">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Feature</th>
        <th>Android</th>
        <th>Firefox Mobile (Gecko)</th>
        <th>IE&nbsp;Phone</th>
        <th>Opera Mobile</th>
        <th>Safari Mobile</th>
      </tr>
      <tr>
        <td>Basic support</td>
        <td>{{ CompatUnknown() }}</td>
        <td>{{ CompatUnknown() }}</td>
        <td>{{ CompatUnknown() }}</td>
        <td>{{ CompatUnknown() }}</td>
        <td>{{ CompatUnknown() }}</td>
      </tr>
    </tbody>
  </table>
</div>
<h3 id="Browser_notes">Browser notes</h3>
<h4 id="Gecko">Gecko</h4>
<ul>
  <li>The prefixed version (allowed from Firefox 1 to Firefox 12) of this property uses a different name, <code>-moz-border-radius-topleft</code>, than the final property as Mozilla implemented it before the final name was coined.</li>
  <li>Before Firefox 4, the {{ xref_csspercentage() }} was relative to the width of the box even when specifying the radius for a height). This implied that <code>-moz-border-radius-topleft</code> was always drawing an arc of circle, and never an ellipse, when followed by a single value.</li>
  <li>Gecko is not able to display dotted and dashed rounded corners correctly: it displays them as solid ({{ bug("382721") }}).</li>
</ul>
<h2 id="See_also">See also</h2>
<p>The border-radius-related CSS properties: the CSS shorthand {{ cssxref("border-radius") }}, the properties for the other corners: {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-right-radius") }}, and {{ cssxref("border-bottom-left-radius") }}.</p>
Revert to this revision