これには何も問題はありません。実際、ページの読み込み時間を短縮し、モバイルでページのサイズを抑える手法として認識されています (もちろん、デバイスのサイズに必要な画像のみを読み込む場合)。
また、これに関して私が見ることができる唯一の潜在的な落とし穴として、単に CSS プロパティを に設定するだけでdisplay: none
は必ずしも画像の読み込みが妨げられるわけではないことに注意してください (こちらを参照してください: Does "display:none" prevent an image from loading? )
これに代わる方法は、同じ名前で画像を保存し、接尾辞を小さくするか、接尾辞を付けずに (大きな画像の場合) 追加することです (例のように)。時間を確認し、javascript を使用してパスを変更します。例;
// HTML ELEMENT
<img class='thumbnail' src='img/thumb.png'>
// JAVASCRIPT
if(window.innerWidth < 640){
// This is for users with smaller screens, load the smaller image
var imgs = document.getElementsByTagName('img');
for(var i = 0; i < imgs.length; i++){
var current = imgs[i].getAttribute('src');
imgs[i].setAttribute('src', current + '-small.png');
// THIS WOULDN'T WORK AS IS, AS IT WOULD PRODUCE '.png-small.png'
// AND IS INTENDED **ONLY** TO ILLUSTRATE A CONCEPT
}
}