CSS Paint API: Worklets
Paint Workletsを使い、カスタムCSS背景画像やボーダーをプログラムで作成します。
「CSS Paint API: Worklets」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
CSS Paint API とは
CSS Paint API は CSS Houdini の機能で、JavaScript の Worklet 関数を記述して背景、境界線、マスクをプログラムで生成できます。実質的に、CSS の background-image で描画できる内容を拡張するものです。
Paint Worklet のアーキテクチャ
Paint Worklet は、別の Worklet スコープ(メインスレッドではありません)で実行される JavaScript ファイルです。CSS の値として使用できるカスタムペインターを登録します。
Paint Worklet を記述する
Worklet クラスは paint() メソッドを実装します。
<div class="grid"></div>
Worklet を登録する
メインの JavaScript から Worklet を読み込みます。
<div class="grid"></div>
CSS でペインターを使用する
画像を受け取る任意のプロパティで、登録したペインター名を参照します。
<div class="grid"></div>
CSS カスタムプロパティを受け取る
ペインターは、入力プロパティとして宣言することで CSS カスタムプロパティを読み取れます。
<div class="swatch"></div>
Canvas 風 API
ctx パラメーターは PaintRenderingContext2D です。これは Canvas 2D コンテキストの制限されたバージョンです。fillRect、arc、bezierCurveTo など、使い慣れたメソッドを使用できます。
ユースケース
CSS Paint API で可能になること:
- SVG を使わない複雑な幾何学的背景
- 可変データに対応した背景(進捗バー、アクティビティグラフ)
- カスタムプロパティで駆動するボタンのリップルエフェクト
- 複雑なボーダー効果(破線、ハッチング)
- 波形の区切り線と有機的な形状
ペイントワークレットのパフォーマンス
ペイントワークレットはメインスレッド外(別のワークレットコンテキスト)で実行され、CSS カスタムプロパティが変更された場合にのみ再描画されます。これは、メインスレッドで実行される Canvas ベースの描画よりも効率的です。
ブラウザーの対応状況
CSS Paint API は Chrome 65 以降と Edge 79 以降でサポートされています。2024 年時点では Firefox と Safari はサポートしていません。段階的拡張として使用してください。
@supports によるグレースフルデグラデーション
必ずフォールバックを用意し、サポートされている場合にのみペイントワークレットを適用するために @supports を使用してください:
<div class="element"></div>
確認問題
描画を実行するために、CSS Paint Worklet クラスが実装するメソッドは何ですか?
まとめ
CSS Paint API を使用すると、JavaScript ワークレットで CSS イメージをプログラムから生成できます。paint() メソッドを持つクラスを作成し、registerPaint() で登録して、CSS.paintWorklet.addModule() で読み込み、background: paint(name) として使用します。ペインターは CSS カスタムプロパティを読み取り、データに応じて変化するビジュアルを作成できます。@supports でフォールバックを用意してください。
よくある質問
「CSS Paint API: Worklets」レッスンは無料ですか?
はい。「CSS Paint API: Worklets」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「CSS Paint API: Worklets」で何を学びますか?
Paint Workletsを使い、カスタムCSS背景画像やボーダーをプログラムで作成します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「CSS Paint API: Worklets」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- CSS Typed Object Model(OM)
- CSS Properties and Values API(@property)
- CSS Paint API: Worklets
- CSS Layout APIとスコープ