CSS辞典 border-radius、border-top-left-radius、border-top-right-radius、border-bottom-right-radius、border-bottom-left-radiusプロパティの解説

ボーダーの角丸をまとめて指定する「border-radiusプロパティ」、開始側のボーダーをまとめて指定する「border-block-startプロパティ」と「border-inline-startプロパティ」、終了側のボーダーをまとめて指定する「border-block-endプロパティ」と「border-inline-endプロパティ」の使用方法を記載

対応バージョン:CSS3/2.1

対応ブラウザ

ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:chrome
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:firefox
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:safari
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:ms edge
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:ms ie
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:opera
初期値style、width、colorプロパティに準じる
適用される要素すべての要素
モジュールBackgrounds and Borders Module Level3
継承なし

※border-block、border-inline、border-block-start、border-block-end、border-inline-start、border-inline-endすべて同様。

border-radiusプロパティ

概要・使用方法

{border-radius: -top-left -top-right -bottom-right -bottom-left;}

「border-radiusプロパティ」は要素のボックスを囲む線の、4つの角の丸みを一括で指定できるようにします。

border-top-left-radius(左上の角)、border-top-right-radius(右上の角)、border-bottom-left-radius(右下の角)、border-bottom-right-radius:(左下角)の各プロパティで、それぞれの角の丸みを指定できます。

border-radiusプロパティの解説図

角の丸みは、ボックスの線の外周に接する円(または楕円)の半径を、長さのサイズ値またはパーセント値で指定します。

  • 値が2個の場合、1個目は水平方向の半径、2個目は垂直方向の半径
  • 値が1個の場合、水平方向と垂直方向の半径は同じ

値の1個が0の値を持つなら、角は丸みを持たない四角の角となります。また、border-radiusプロパティは、4つの角の丸みをまとめて設定するためのもので、水平方向の値と水平方向の半径の値は「/」で区切ります。前に水平方向の指定、後ろに垂直方向の指定を記述します。また、「/」がない場合、2つの方向の半径は同じ値とみなされます。

水平方向と垂直方向の値はそれぞれ、1~4個指定でき以下のように決められています。

  • 値を4個指定した場合、4つの値は左上、右上、右下、左下の角の丸みをそれぞれ順に表す。
  • 値が3個(左上、右上、右下のみ指定)の場合は、右上と左下の角は同じ値
  • 値が2個(左上、右上のみ指定)の場合は、左上と右下、右上と左下は同じ値
  • 値が1個の阿合は、すべての角が同じ値

値の指定方法

指定値意味
数字+単位線の外周に接する円(または楕円)の半径を「px」や「em」などのサイズで指定
%要素のborderボックスの幅と高さに対する割合で指定

数字+単位の詳細は以下を参照

「border-top-left-radiusプロパティ」、「border-top-right-radiusプロパティ」、「order-bottom-right-radiusプロパティ」、「border-bottom-left-radiusプロパティ」の角丸の半径の指定値も同様となります。

border-top-left-radiusプロパティ

左上の角の水平・垂直方向を指定できます。

概要・使用方法

{ border-top-left-radiusプロパティ : 角丸の半径(水平・垂直); }
{ border-top-left-radiusプロパティ : 角丸の半径(水平) (垂直); }

角丸の半径は値1もしくは、半角スペースで区切って2つ指定することができます。1つの場合は水平・垂直同時指定となります。2つの場合は、水平と垂直順に指定となります。

border-top-right-radiusプロパティ

右上の角の水平・垂直方向を指定できます。

概要・使用方法

{ border-top-right-radius: 角丸の半径(水平・垂直); }
{ border-top-right-radius: 角丸の半径(水平) (垂直); }

角丸の半径は値1もしくは、半角スペースで区切って2つ指定することができます。1つの場合は水平・垂直同時指定となります。2つの場合は、水平と垂直順に指定となります。

border-bottom-left-radiusプロパティ

左下の角の水平・垂直方向を指定できます。

概要・使用方法

{ border-bottom-right-radius: 角丸の半径(水平・垂直); }
{ border-bottom-right-radius: 角丸の半径(水平) (垂直); }

角丸の半径は値1もしくは、半角スペースで区切って2つ指定することができます。1つの場合は水平・垂直同時指定となります。2つの場合は、水平と垂直順に指定となります。

border-bottom-right-radiusプロパティ

右下の角の水平・垂直方向を指定できます。

概要・使用方法

{ border-bottom-right-radius: 角丸の半径(水平・垂直);}
{ border-bottom-right-radius: 角丸の半径(水平) (垂直);}

角丸の半径は値1もしくは、半角スペースで区切って2つ指定することができます。1つの場合は水平・垂直同時指定となります。2つの場合は、水平と垂直順に指定となります。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
  <head>
    <title>border-radiusプロパティ CSSフォントサンプルページ</title>
    <meta charset="uft-8">
    <style>
           .disp{display:inline-block;margin:0.5em;}
           .box-style{
               width: 25em;
               height:10em;
               margin:0.5em;
               background-color:lightsteelblue;
           }
           
           .style-radius50{
               border-radius:50px;
           }
           
           .style-radius1{
               border-radius:10px 20px 30px 40px;
           }
           
           .style-radius2{
               border-radius: 50px 50px 50px 50px / 20px 30px 40px 40px;
           }
           
           .style-individual{
               border-top-left-radius:20px 20px;
               border-top-right-radius:40px 40px;
               border-bottom-left-radius:50px 50px;
               border-bottom-right-radius:60px 100px;
           }
           
    </style>
  </head>
  <body>
      <div class="disp">
      <div class="box-style style-radius50">border-radius:50px;</div>
      <div class="box-style style-radius1">border-radius:10px 20px 30px 40px;</div>
      <!-- 水平方向の指定/垂直方向の指定 -->
      <div class="box-style style-radius2">border-radius: 50px 50px 50px 50px / 20px 30px 40px 40px;</div>
      <div class="box-style style-individual">
     border-top-left-radius:20px 20px;
               border-top-right-radius:40px 40px;
               border-bottom-left-radius:50px 50px;
               border-bottom-right-radius:60px 100px;
      </div>
      </div>
  </body>
</html>
border-radius:50px;
border-radius:10px 20px 30px 40px;
border-radius: 50px 50px 50px 50px / 20px 30px 40px 40px;
border-top-left-radius:20px 20px; border-top-right-radius:40px 40px; border-bottom-left-radius:50px 50px; border-bottom-right-radius:60px 100px;

chromeブラウザ実行結果

chrome

Firefox ブラウザ実行結果

Firefox

edgeブラウザ実行結果

edge

operaブラウザ実行結果

opera