CSS 角丸ジェネレーター(border-radius)

CSS を生成
結果

border-radius は一見シンプルですが、正方形の 50% は円になるのに長方形の 50% は楕円になる理由を説明しようとすると、その奥深さがわかります。このジェネレーターでは、4 つの角それぞれに数値を入力し、px・%・rem を選んで、生成された短縮記法をそのままコピーできます。ボタンの形状、カードの角丸、ピル型ボタン、非対称な角に役立ちます。

border-radius の作り方

  1. 1

    各角を設定する

    左上・右上・右下・左下の各角に半径を入力します。

  2. 2

    単位を選ぶ

    px(固定サイズ)、%(要素に対する相対値)、rem(ルートのフォントサイズに対する相対値)から選べます。

  3. 3

    CSS を生成する

    「Generate CSS」ボタンを押すと短縮記法が作られます。

  4. 4

    ルールをコピーする

    `border-radius` の短縮記法をコピーしてスタイルシートに貼り付けます。

短縮記法の順序

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

margin / padding と同じく、左上から時計回りです。省略した値は対角の角に反映されます。したがって border-radius: 10px 20px; は左上と右下が 10px、右上と左下が 20px という意味になります。

このジェネレーターが生成しないもの

各角に 1 つの半径しか設定しないため、楕円形の角(border-radius: 20px 10px / 5px 15px; のようなスラッシュを使う 2 値形式)や border-top-left-radius のような個別指定は生成されません。必要な場合は CSS を手書きしてください。

パーセントとピクセル

単位 挙動
px 固定値。要素のサイズに応じて変化しない
% 要素の幅(水平方向)と高さ(垂直方向)に対する割合
em 要素のフォントサイズに応じて変化する
rem ルートのフォントサイズに応じて変化する

正方形の要素では 50% が円になります。200×100 の長方形では、50% は水平半径 100px・垂直半径 50px となり、楕円になります。

よく使う形状

形状 CSS
円(正方形) border-radius: 50%;
ピル型 border-radius: 9999px;(高さの半分以上の任意の値)
角丸カード border-radius: 8px; または 12px
チャットバブル border-radius: 18px 18px 0 18px;(右下に尾)
ごく軽い丸み border-radius: 2px; または 4px

ピル型ボタンの「高さの半分」ルール

ピル型ボタンとは、左右の端が完全な半円になっている長方形のことです。これを確実に作るには、border-radius要素の高さの少なくとも半分に設定します。9999px(または非常に大きな値)を使っても安全です。ブラウザーが半径を実際の形状に合わせて自動的に丸めてくれるからです。

overflow との関係

border-radius は既定では背景・ボーダー・ボックスシャドウだけを切り抜きます。子要素(画像やネストした要素)を丸い形に切り抜くには、次を追加します:

overflow: hidden;

または isolation: isolateoverflow: hidden を併用すると、重なり合うコンテキスト(スタッキングコンテキスト)も内側に収められます。

アクセシビリティに関する注意

border-radius 自体にアクセシビリティ上の問題はありませんが、インタラクティブな要素(ピル型ボタンやチップ)を極端に丸めても、タップ領域を縮めてはいけません。角の丸みに関わらず、ボタンは少なくとも 44×44px(WCAG の推奨)を確保してください。

よくある質問

パーセント指定の border-radius は、水平方向では「幅の %」、垂直方向では「高さの %」として測られるためです。正方形でない要素では、その結果が楕円になります。円にするには要素を正方形にするか、要素の寸法に合わせたピクセル値を使う必要があります。

既定では背景・ボーダー・ボックスシャドウだけです。親要素にも overflow: hidden を追加しない限り、子要素は切り抜かれません。

数値どうしの間でアニメーションできます。transition: border-radius 200ms; はピクセルにもパーセントにも有効です。複雑な楕円の短縮記法と単純な半径の間でアニメーションさせると、予想外の中間フレームが生じることがあります。おかしく見える場合は、開始状態と終了状態をテストして単純にしてください。

仕様に上限はありませんが、ブラウザーは有効な半径を要素の短い辺の半分に丸めます。高さ 40px のボタンに border-radius: 9999px を使うとピル型になり、ブラウザーは黙って 20px に丸めます。

関連ツール