HSLをCSS文字列に変換
カンマやパーセント記号を手で打たずに、ブラウザでそのまま使えるhsl()の値を作ります。色相210.456、彩度64.444、明度42.225は、標準の小数点以下二桁でhsl(210.46, 64.44%, 42.23%)になります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Hue
- 210.456
- 彩度
- 64.444
- 明度
- 42.225
- Css
- hsl(210.46, 64.44%, 42.23%)
色相、彩度、明度の個別の数値から、句読点を手作業で組み立てたり、丸め方がばらついたり、パーセント記号を付け忘れたりすることなく、明確なCSSのhsl()文字列を生成できます。各成分を検証し、色相を色相環の範囲に正規化して、指定した精度で丸めた予測可能な結果を返します。デザイントークンやテーマの生成処理から、自動テスト、テンプレート、開発用の小規模ツールまで、構造化された色情報をブラウザー向けCSSへ変換する場面でご利用いただけます。
HSLの各成分を数値で入力します
色相は度数で表す角度であり、正数、負数、または一周を超える値も指定できます。値は0以上360未満の標準範囲へ変換されるため、-30は330と同じ色相になり、390は30になります。彩度と明度はパーセント値ですが、入力に記号は付けません。
65パーセントなら65を指定してください。どちらも0から100までである必要があります。必須値はすべて有限の数値に限られます。
一定の丸め精度を指定します
precisionでは、3成分に残す小数点以下の最大桁数を指定します。初期値は2で、0から6までの整数を使用できます。0なら整数になり、大きな値ほど計算結果の詳細を保持できます。
色相を正規化した後に丸めるため、負の値や複数周分の値が出力へ残りません。不要な末尾のゼロは除かれ、負のゼロも通常のゼロになります。地域設定には依存せず、小数点には常にピリオド、引数の間にはコンマと空白を使い、彩度と明度には必ずパーセント記号を付けます。
そのため、同じ有効な入力からは、実行環境にかかわらず完全に同じ文字列が得られます。
活用例
デザイントークンを生成
計算済みHSLデータを統一されたCSS値に変換してから、テーマ変数やトークンファイルへ書き込めます。
フォーム出力を正規化
カラーピッカーの数値を検証し、プレビュー、保存、スタイル設定に使える安定した文字列を生成します。
安定したテストを作成
固定された丸めと空白により、同等の数値の表記差でスナップショットが変わることを防ぎます。
よくある質問
入力にパーセント記号を含めますか?
いいえ。 0から100までの数値を送信すると、必要な記号が自動的に追加されます。
小数点以下は何桁まで残せますか?
precisionに0から6までの整数を指定できます。初期値は2で、末尾のゼロは除かれます。
アルファ透明度に対応していますか?
いいえ。 3成分からなる不透明なhsl()文字列を生成し、アルファ成分は受け付けません。
言語や地域の設定で結果は変わりますか?
変わりません。規則は固定で地域設定に左右されず、小数点は常にピリオドです。同じ値からはいつもhsl(210.46, 64.44%, 42.23%)が得られ、どのブラウザでも使えます。
0〜360の範囲外の色相はどうなりますか?
色相環に沿って折り返されます。たとえば-30は330と、390は30と同じ角度として扱われます。丸めはこの折り返しの後に行われます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/hsl-to-css \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hue":210.456,"saturation":64.444,"lightness":42.225}'const res = await fetch("https://api.kit.forhosting.com/color/hsl-to-css", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hue": 210.456,
"saturation": 64.444,
"lightness": 42.225
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hsl-to-css",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hue": 210.456,
"saturation": 64.444,
"lightness": 42.225
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hsl-to-css", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hue":210.456,"saturation":64.444,"lightness":42.225}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hue":210.456,"saturation":64.444,"lightness":42.225}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hsl-to-css", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"hue": 210.456,
"saturation": 64.444,
"lightness": 42.225
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hsl_to_css",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
HSLの各成分を数値で入力します
色相、彩度、明度は、途中まで整形したCSS式ではなくJSONの数値として送信してください。文字列の「50」、欠落したフィールド、null、Infinity、NaNは拒否されるため、データの誤りを早期に確認でき、API、ブラウザー、テストで同一の結果を維持できます。
返されたCSSを安全に使用します
テーマを一括生成する場合は、元データを検証し、色ごとに呼び出すとエラー箇所を特定しやすくなります。精度が公開仕様の一部なら明示的に指定してください。返された文字列はCSSの色値が必要な場所だけに挿入してください。結果のcssフィールドにはhsl(h, s%, l%)形式の値が入ります。APIによる自動処理は1回につき$0.002です。
技術的な質問
1回の料金はいくらですか?
APIの基本料金は1回あたり$0.002です。
0から360の範囲外の色相はどうなりますか?
色相環に沿って0以上360未満の範囲へ正規化されます。