使用响应式设计原则根据设备屏幕分辨率放大或缩小图像大小。
在 CSS 中,您可以定义目标设备的max-width
和max-height
。这是您在 CSS 中声明它的方式:
@media only and (max-device-width:1024px) and (orientation:portrait)
之后,您必须以百分比指定元素的宽度和高度,相对于父元素。这是可行的方法,但在移动设备上的带宽消耗方面不是最好的方法,因为即使我们将百分比设置得较低,图像也会以其原始大小上传,并且在浏览器解析 CSS 文档后完成缩小。
W3C 提出了一些关于不同设备应如何处理图像的条款,但没有一个被普遍接受和标准化。
最受好评的提议之一是新的<image>
和<source>
标签,它接受不同的图像源并根据屏幕分辨率使用最合适的图像尺寸。
<picture alt="">
<!-- low-res, default -->
<source src="small.jpg">
<!-- med-res -->
<source src="medium.jpg" media="(min-width: 400px)">
<!-- high-res -->
<source src="large.jpg" media="(min-width: 800px)">
<!-- Fallback content -->
<img src="small.jpg" alt="description of image">
</picture>
有一个模仿提议的图片元素的 polyfill:https ://github.com/scottjehl/picturefill
这里有两篇关于这个概念的彻底解释的文章:
http://nicolasgallagher.com/responsive-images-using-css3/
http://css-tricks.com/on-responsive-images/