Paint containment
ペイントコンテインメントは、要素の子孫が要素のボックス外にはみ出して描画されないことをブラウザに伝えます。overflow: hidden に似た効果がありますが、ブラウザにレンダリング最適化のヒントも提供します。画面外にスクロールされた要素のペイントをスキップするなど、パフォーマンス向上に活用されます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
css.properties.contain.paint | 52 | 79 | 69 | 15.4 | 52 | 15.4 |
基本構文
CSS
.card {
contain: paint;
}
.offscreen-widget {
contain: layout paint;
} ライブデモ
実務での使いどころ
-
オーバーフローコンテンツの最適なクリッピング
子要素がコンテナ外にはみ出さないことをブラウザに保証し、不要なペイント処理をスキップしてレンダリングパフォーマンスを改善できます。
注意点
- ペイントコンテインメントは要素を新しいスタッキングコンテキストにし、overflow: visible は事実上 hidden として扱われます。意図しないクリッピングに注意してください。
アクセシビリティ
- ペイントコンテインメントによるクリッピングで重要なコンテンツが視覚的に隠れる場合、スクリーンリーダーはそのコンテンツにアクセスできますが、視覚的なユーザーは見逃す可能性があります。