我有一张100x100像素的图片,我需要在HTML中以3种不同的尺寸显示它,分别是50x50、60x60和70x70。所以我的疑问是,是将图片保存为3个尺寸,然后不使用CSS或HTML的宽度和高度属性,还是使用相同尺寸的图片,并使用CSS规则来设置尺寸?哪种解决方案渲染速度更快?
这要看情况。
如果您正在使用相同的图像,则浏览器只需要1次图像缓存。因此,如果在同一页中显示多种类型的图像,则不要选择多个图像。否则,请选择多个图像。
但是,说实话,如果您有100x100大小的图片,加载不应该成为问题。仅在慢速连接(<128kbps)下才会出现问题。否则,我认为没有明显的差异。
关于渲染速度,我认为你不必太担心,主要的区别在于图像质量。一些浏览器(如Chrome)执行非常高质量的图像插值,而其他浏览器(如IE、Firefox)则选择更快的算法,但结果不够好。因此,通过为每个尺寸创建三个单独的图像文件,您可以获得最佳、最一致的图像质量。
话虽如此,由于您只需要将100x100缩放到最小尺寸50x50,因此您可能不需要太担心插值伪影。所以我建议您只需实现最方便的方法即可。
就纯渲染速度而言,使用单独的图像将更快,因为在这种情况下不需要插值步骤。然而,在初始页面加载速度方面,使用单个图像将更快,因为只需下载1个文件而不是3个(或4个)。至于使用CSS或HTML标记属性设置宽度和高度,速度几乎没有区别。昂贵的操作是图像本身的插值,无论您是通过CSS还是通过标记属性指定插值,都不会有太大的区别。