border-radius
はボックスの角を丸めるために使用するCSSプロパティです。border-top-left-radius
、border-top-right-radius
、border-bottom-left-radius
、border-bottom-right-radius
についても解説します。
全角を丸める | border-radius |
---|---|
左上の角 | border-top-left-radius |
右上の角 | border-top-right-radius |
左下の角 | border-bottom-left-radius |
右下の角 | border-bottom-right-radius |
border-radius
の基礎
.sample
クラスを持つ<div>
要素を準備します。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
border-radius
に曲率半径を指定すると角が丸まります。 以下は、30px
、20px
、10px
の例。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 30px; }
30px
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 20px; }
20px
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10px; }
10px
零(0
)を指定すると丸みが無くなります。(デフォルト値)
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 0; }
0
複数の設定値
それぞれの角で異なる設定にするには、複数の値を指定します。
設定値の数 | 1つ目 | 2つ目 | 3つ目 | 4つ目 |
---|---|---|---|---|
1つ | 全ての角 | |||
2つ | 左上と右下 | 右上と左下 | ||
3つ | 左上 | 右上と左下 | 右下 | |
4つ | 左上 | 右上 | 右下 | 左下 |
複数の設定値の例。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10px 20px; }
10px 20px
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10px 20px 30px; }
10px 20px 30px
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10px 20px 30px 40px; }
10px 20px 30px 40px
border-top-left-radius
border-top-left-radius
は左上のborder-radius
を指定します。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-top-left-radius: 20px; }
border-top-left-radius
border-top-right-radius
border-top-right-radius
は右上のborder-radius
を指定します。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-top-right-radius: 20px; }
border-top-right-radius
border-bottom-left-radius
border-bottom-left-radius
は左下のborder-radius
を指定します。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-bottom-left-radius: 20px; }
border-bottom-left-radius
border-bottom-right-radius
border-bottom-right-radius
は右下のborder-radius
を指定します。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-bottom-right-radius: 20px; }
border-bottom-right-radius
%で指定する方法
曲率半径を直径の%
で指定することができます。以下は10%
、30%
、50%
の例です。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10%; }
10%
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 30%; }
30%
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 50%; }
50%
50%;
にすると楕円になることが分かります。
それぞれの角で異なる設定にするには、複数の値を指定することもできます。
設定値の数 | 1つ目 | 2つ目 | 3つ目 | 4つ目 |
---|---|---|---|---|
1つ | 全ての角 | |||
2つ | 左上と右下 | 右上と左下 | ||
3つ | 左上 | 右上と左下 | 右下 | |
4つ | 左上 | 右上 | 右下 | 左下 |
複数の設定値の例。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10% 20%; }
10% 20%
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10% 20% 30%; }
10% 20% 30%
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10% 20% 30% 40%; }
10% 20% 30% 40%
応用
扇形
border-○-○-radius
を使って特定の角だけを100%
にすると、扇形なります。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-top-left-radius: 100%; }
border-top-left-radius
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-top-right-radius: 100%; }
border-top-right-radius
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-bottom-left-radius: 100%; }
border-bottom-left-radius
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-bottom-right-radius: 100%; }
border-bottom-right-radius
横軸と縦軸で異なる曲率半径
横軸方向と縦軸方向で異なる曲率半径を指定することもできます。 設定は(横軸方向)/(縦軸方向)
と書きます。 以下は40px / 10px
と10px / 40px
の例です。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 40px / 10px; }
40px / 10px
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 10px / 40px; }
10px / 40px
複数の設定値を指定することもできます。以下は2つの設定値を指定した例です。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-radius: 0 10px/40px; }
0 10px/40px
border-〇-〇-radius
に対してborder-top-left-radius
などに対しても 横軸と縦軸で異なる曲率半径を指定できます。 その場合は 1つ目の設定値が横軸方向、2つ目の設定値が縦軸方向になります。
<div class="sample">sample</div>
.sample { background-color: #cec; /* 背景 */ border: 5px solid #393; /* 境界線 */ display: inline-block; /* インライン・ブロック要素 */ padding: 20px; /* 内側の余白 */ }
.sample { border-top-left-radius: 10px 40px; }
border-top-left-radius: 10px 40px