image-set()
image-set() は CSS の関数記法で、主に高解像度の画面において、指定されたセットから最も適切な CSS 画像をブラウザーに選択させる方法です。
解像度や帯域幅は、端末やネットワークのアクセスによって異なります。image-set() 関数は、ユーザーの端末に最も適した解像度の画像を提供します。画像の選択肢の集合を提供し、それぞれに解像度宣言を関連付けて、そこからブラウザーが端末や設定に最も適したものを選び出します。解像度はファイルサイズのプロキシーとして使用することができます。高解像度の画面を持っていても、遅いモバイル接続のユーザーエージェントは、高解像度の画像を読み込むのを待つよりも、低解像度の画像を受信することを好むかもしれません。
image-set() は、それぞれのユーザーが必要なことを判断するのではなく、選択肢を提供することができます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 113 | 113 | 89 | 17 | 113 | 17 | |
| CSS プロパティ | ||||||
| image-set() は CSS の関数記法で、主に高解像度の画面において、指定されたセットから最も適切な CSS 画像をブラウザーに選択させる方法です。 | 113 | 113 | 89 | 17 | 113 | 17 |
| CSS タイプ | ||||||
| image-set() は CSS の関数記法で、主に高解像度の画面において、指定されたセットから最も適切な CSS 画像をブラウザーに選択させる方法です。 | 113 | 113 | 89 | 17 | 113 | 17 |
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (20)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (79)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 4件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (89)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (90)
注釈 8件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (17)
- このバージョンで機能が削除されました (14)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (17)
- ベンダープレフィックス付きで対応: -webkit- (14)
- ベンダープレフィックス付きで対応: -webkit- (6)
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (25)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 8件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (17)
- このバージョンで機能が削除されました (14)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (17)
- ベンダープレフィックス付きで対応: -webkit- (14)
- ベンダープレフィックス付きで対応: -webkit- (6)
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (20)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (79)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 4件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (89)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (90)
注釈 8件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (17)
- このバージョンで機能が削除されました (14)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (17)
- ベンダープレフィックス付きで対応: -webkit- (14)
- ベンダープレフィックス付きで対応: -webkit- (6)
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (25)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 8件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (17)
- このバージョンで機能が削除されました (14)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (17)
- ベンダープレフィックス付きで対応: -webkit- (14)
- ベンダープレフィックス付きで対応: -webkit- (6)
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (20)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (79)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 4件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (89)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (90)
注釈 8件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (17)
- このバージョンで機能が削除されました (14)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (17)
- ベンダープレフィックス付きで対応: -webkit- (14)
- ベンダープレフィックス付きで対応: -webkit- (6)
注釈 5件
対応条件
- ベンダープレフィックス付きで対応: -webkit- (113)
- ベンダープレフィックス付きで対応: -webkit- (25)
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (113)
実装メモ
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
注釈 8件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (17)
- このバージョンで機能が削除されました (14)
実装メモ
- `type()` 関数は、`image-set()` の引数としてサポートされていません。
- `url` 画像のみをサポートし、サポートされている解像度単位は `x` のみです。
対応条件
- ベンダープレフィックス付きで対応: -webkit- (17)
- ベンダープレフィックス付きで対応: -webkit- (14)
- ベンダープレフィックス付きで対応: -webkit- (6)
基本構文
CSS
.hero {
background-image: image-set(
url('bg-1x.jpg') 1x,
url('bg-2x.jpg') 2x
);
} ライブデモ
実務での使いどころ
-
高DPIディスプレイ向け背景画像の最適化
Retinaディスプレイには2x画像を、通常のディスプレイには1x画像を自動提供し、帯域幅を節約しながら高品質な表示を実現します。
注意点
- Baseline低の機能であり、古いブラウザでは-webkit-image-setプレフィックスが必要な場合があります。
アクセシビリティ
- 背景画像に重要な情報が含まれる場合は、テキストによる代替情報を提供してください。