CSS の border-radius 値を生成
CSS border-radius ジェネレーターは、1個から4個までの角丸半径を、すぐに使用できる短縮宣言へ変換します。一般的な CSS の長さまたはパーセント値を入力すると、短縮値と完全な border-radius プロパティーの両方が返されます。値の順序は CSS 仕様に従うため、どの位置がどの角に対応するかを毎回調べる必要がなく、一貫したスタイルを設定できます。負の半径はスタイルシートで無効なため受け付けません。
無料で実行
1個から4個の半径値を選択します
作成したい形に合わせて値の個数をお選びください。1個の場合は4つの角すべてに同じ半径が適用されるため、カード、ボタン、入力欄などの左右対称なコンポーネントに適しています。2個の場合は向かい合う角へ交互に適用され、1番目が左上と右下、2番目が右上と左下を制御します。3個の場合は、1番目が左上、2番目が右上と左下の両方、3番目が右下に対応します。4個なら、左上、右上、右下、左下という時計回りの順で各角を個別に指定できます。各入力には 8px、0.5rem、12%、0 など、負でない CSS の長さまたはパーセント値をご指定ください。CSS では単位なしのゼロが認められますが、ゼロ以外の数値には対応する長さの単位またはパーセント記号が必要です。値を別々に入力する方式なので、最終的な短縮値を組み立てる前に、位置と角の対応関係をご確認いただけます。
生成された CSS を確認して使用します
結果には用途の異なる2つのフィールドが含まれます。border_radius フィールドには短縮値だけが入るため、設定先の CSS プロパティーをアプリケーション側ですでに把握している場合や、デザイントークンの処理で値だけが必要な場合に便利です。css フィールドには、border-radius というプロパティー名、コロン、セミコロンを含む完全な宣言が入り、そのままスタイル規則へ貼り付けられます。値は入力された順序を保ち、1つの空白で区切って出力されます。このジェネレーターは、角の順序を勝手に変更したり、単位を変換したり、同じ値を自動的に省略したりしません。入力表現を維持することで、予測可能な結果を提供し、意図されたデザイントークン構文を保護します。たとえば 8px と 16px を指定すると border-radius: 8px 16px; が生成され、4個なら時計回りの宣言になります。出力は決定的でブラウザー固有の測定を行わないため、API とブラウザー内のツールは同じ文字列を返します。
コンポーネント公開前に半径を検証します
CSS の角丸半径に負の値は使用できないため、値がマイナス記号で始まる場合は入力エラーとして処理を停止します。空の項目、未対応の文字列、単位のないゼロ以外の数値、句読記号を含む宣言、1〜4個の範囲外にある配列も拒否します。この検証は、フォーム、設定ファイル、テーマエディター、自動化されたデザイントークンのビルドなどから半径を受け取る場面で役立ちます。不正な文字列が気付かれないままスタイルシートに入ることを防げます。px、em、rem、vw、vh、vmin、vmax、ch、cm、mm、in、pt、pc のほか、新しいビューポート系単位など、一般的な絶対単位、フォント相対単位、ビューポート相対単位、物理単位、パーセントに対応しています。この機能は各角に単一半径を指定する標準短縮構文を生成し、スラッシュで区切る楕円形の構文は生成しません。楕円形の角が必要な場合は、ご自身の CSS で水平半径と垂直半径を分けてください。パーセントは要素の寸法に依存するため、返された宣言を検証済みの部品として使用し、実際の要素でも表示をご確認ください。
活用例
コンポーネントのスタイル作成
カード、ボタン、ダイアログ、バッジ、入力欄に貼り付けられる border-radius 宣言を作成します。
デザイントークンの検証
テーマやライブラリーがスタイルシートを公開する前に、負または不正な半径トークンを拒否します。
動的な CSS の生成
ビジュアルエディターや設定フォームで選んだ半径を、予測可能な CSS 短縮値へ変換します。
よくある質問
料金はいくらですか?
API リクエスト1回につき $0.002 です。このページではブラウザー上で無料でもご利用いただけます。
4個の値はどの順序ですか?
CSS の時計回りの順序で、左上、右上、右下、左下に対応します。
パーセント値を使用できますか?
はい。10% や 50% などの負でないパーセント値と、対応する CSS 長さ単位をご利用いただけます。
負の値が拒否されるのはなぜですか?
CSS の border-radius プロパティーでは負の半径が認められず、無効な宣言の生成を防ぐためです。
単位なしのゼロは使用できますか?
はい。ゼロと同等の小数表現は単位なしで使用できますが、ゼロ以外には対応単位またはパーセント記号が必要です。
スラッシュを使う楕円半径も生成できますか?
いいえ。各角の水平半径と垂直半径が等しい、1個から4個までの標準短縮値のみを生成します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/web/border-radius-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"values":["8px","16px","24px","32px"]}'const res = await fetch("https://api.kit.forhosting.com/web/border-radius-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"values": [
"8px",
"16px",
"24px",
"32px"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/border-radius-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"values": [
"8px",
"16px",
"24px",
"32px"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/border-radius-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"values":["8px","16px","24px","32px"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"values":["8px","16px","24px","32px"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/border-radius-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"values": [
"8px",
"16px",
"24px",
"32px"
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.border_radius_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
timeout_sec | 30 |
max_crawl_pages | 25 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |