我想你可以用不同的方式来看待它。另外,你应该问自己一些问题:
- 您想要覆盖哪些受众(面向移动设备(例如最大宽度为 640 像素)或桌面设备(任何大于 640 像素的设备))
- 您将使用的最大图像是多少(宽度和高度)
- 您的移动网站是否需要您的图片(即您能否制作网站的简化移动版本,而不会丢失太多内容?)
当您的注意力集中在上面定义的桌面环境上时,我不会过多地担心您的问题。当然,更大的图像需要一些时间来加载,但不要忘记大多数移动浏览器都有两个非常简洁的功能:1. 设备检索到的数据首先由服务器压缩(想想Blackberry,Opera ......) 2. 大多数情况下,浏览器允许选择图像质量(低、正常、高)。所以用户仍然可以选择他们想要什么样的质量,而不需要你为他们做决定!
我认为,当您专注于移动受众时,最好是高档的。不过,我不认为您的网站仅适用于移动设备,并且您希望使您的网站在宽屏设备上也看起来不错,所以我会进行缩减!另外,不要忘记优化您的图像(JPG 压缩为 80% 应该会大大减小尺寸,但不应该对质量造成太大影响)。
编辑:所以我一直在考虑这个问题,你还可以做其他事情:使用两个不同的图像。我可以听到你在想:但这听起来不合逻辑,浏览器如何检测尚未加载时需要更改的图像(加载两个图像会很愚蠢)。好吧,给你。(这个问题归功于 jAndy )
jQuery 代码(请注意,我链接到我自己的网站空间。因此,这个小提琴不会永远工作!)
$(document).ready(function() {
$("#jsDisabledMessage").hide(); // HIDES MESSAGE THAT TELLS USER TO ENABLE JS
if ($(window).width() < 480) {
$("img").attr('src', function(index, src) {
return "http://bramvanroy.be/files/jsfiddle/8mZnk/" + this.getAttribute('data-path') + "-mobile.jpg"; // FOR MOBILE DEVICES
});
}
else {
$("img").attr('src', function(index, src) {
return "http://bramvanroy.be/files/jsfiddle/8mZnk/" + this.getAttribute('data-path') + "-not-mobile.jpg"; // FOR DESKTOP
});
}
$("img").show();
});
那么,会发生什么:
- 浏览器读取 HTML
- 浏览器不想找到图像(无论如何,图像都被 CSS 隐藏了)
- jQuery 找到合适的 URL(取决于屏幕大小)并相应地调整 HTML
- jQuery 显示图像
- 当 JS 被禁用时,将显示一条消息告诉用户,无法显示请求的图像。
我希望这是朝着正确的方向发展。