我看不出这有什么问题。事实上,它是一种公认的技术,可以减少页面加载时间并缩小移动设备上的页面大小(当然,前提是您只加载设备大小所需的任何图像)。
另请注意,作为我能看到的唯一潜在陷阱,简单地将 CSS 属性设置为display: none
并不总是阻止图像加载(请参见此处:“显示:无”阻止图像加载吗?)
另一种方法是存储具有相同名称的图像,并添加一个小后缀或没有后缀(对于较大的图像)(几乎就像您在示例中一样),除了屏幕上只有 1 个 html 元素时间并使用 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
}
}