Limited support 注意が必要。一部のブラウザのみ対応。プロダクション利用は慎重に判断すること。

概要

paint()関数は、CSS Painting API(Houdini)の一部で、JavaScriptで記述されたPaint Workletを使って要素の背景やボーダーにカスタム画像を描画します。Canvas APIに似たインターフェースでプログラム的に画像を生成でき、CSSカスタムプロパティと連携して動的な描画が可能です。従来のCSS表現では難しかった複雑なビジュアルエフェクトの実現に適しています。

対応ブラウザ

デスクトップ

Chrome 65+
Edge 79+
Safari 未対応
Firefox 未対応

モバイル

Chrome Android 65+
Safari iOS 未対応
Firefox Android 未対応

基本構文

CSS
.element {
  background-image: paint(my-pattern);
  --pattern-color: #3498db;
  --pattern-size: 20;
}

実務での使いどころ

  • プログラム的な背景パターン生成

    幾何学模様やグラデーションパターンなど、画像ファイルなしで動的な背景を描画し、パフォーマンスとカスタマイズ性を両立します。

注意点

  • SafariとFirefoxでは未サポートのため、フォールバックとして通常の背景画像やグラデーションを用意してください。

アクセシビリティ

  • paint()で描画されたコンテンツは装飾目的に限定し、情報伝達に必要な要素はHTML/CSSで別途提供してください。