0Pricing
CSS Academy · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. CSS Typed Object Model(OM)
  2. CSS Properties and Values API(@property)
  3. CSS Paint API: Worklets
  4. CSS Layout APIとスコープ
← CSS Academyに戻る