欢迎访问智唯网络!专业H5响应式营销型网站建设、百度seo优化、网络推广服务!
营销之道 干货分享
了解企业新动态,分享前沿的营销推广干货,成长路上,我们携手同行
网站建设News

HTML5响应式图片的解决方法

发布时间:2017:09:15 22:06:24 | 已阅: | 作者:智唯小编 | 来源:智唯网络 | 共 0 条评论

扫一扫
手机访问

本文共有1643个文字,预计阅读时间5分钟
导语
网站建设专家-史特是最有价值的网络营销服务品牌,为您提供专业的网站策划,网站设计,网站制作服务,给众多知名企业提供过高品质的建站服务.

在响应式设计和自适应设计的流行下,很多web应用往往都兼容手机、平板和PC,其中一个让人比较头痛的问题就是图片的加载了。不同平台显然不可能用同一张大的图片,这样子不但浪费手机流量、影响网站载入速度并且在小屏幕下会很不清晰。让浏览器根据分辨率自动识别图片是最好的方法。

  响应式图片和多媒体是青岛网站制作的响应式网站的三大基础重点之一。表面上看这是一件非常简单的事情,只要把图片元素的高、宽属性值都移去,然后设置max-width属性为100%即可。不过在这么做之前还需要考虑很多情况。

  设计响应式图片的难点

  去年奈薇建站网科技在做网站时也是通过设置max-width属性使得图片能够自适应。不过这么做的前提是你必须要创建一幅尽可能高分辨率的图片。

推荐阅读:佛山网站建设中如何设置广告位?

  除非是真正需要那么大的图片,否则这就是一种浪费。智能手机和平板电脑通过移动网络浏览该网站时,并不需要那么大尺寸的图片——大尺寸图片意味着大的带宽。即使不考虑带宽也应该考虑同一幅图片以不同尺寸显示时的问题,在图片原始大小是300px的情况下以1000px尺寸显示无疑会损失很多的细节。最好的解决方法则是使用大图的一部分或者干脆完全用不同尺寸的图片。

  同时我们不应当忘记高分辨率的显示需求。Apple设备的retina技术显示图片要求更多的图片,考虑到其他设备也会跟随Apple的高分辨率显示技术(不过可能显示的像素尺寸不同)。我们若将所有不同尺寸的图片都预加载进来,此乃饮鸩止渴之举,万不可取——毕竟我们的目标只是是减少带宽而非增加。

  目前已经有几种备选的解决方案解决这些问题,力图小编在这里归纳总结如下:

  创建新的图像格式

  创建一个新的(html)元素

  使用特定技术手段

  1.创建新图像格式

  这种方法比较容易解释,力图小编呼吁针对响应式图片创建一种新的图像格式。该新的格式包含了几种不同大小版本的图片。比如100k的文件里有75k的版本、20k的版本和5k版本的图像。

  从某种意义上讲就像.mp3格式那样,该种文件格式既存储了歌曲也存储了歌曲的meta信息。这里的图像版本信息就好比MP3的meta信息,然后依据既定的一组标准选择该里面最为合适设备的一个图片版本。

  这种解决方法的缺点是必须放弃一些可控性能。新文件格式会自行决定什么时候使用哪个版本的图片,只是当然对于不支持该种格式的浏览器也失去了后向兼容。

  2.创建新元素(或属性)

  该方法已经在使用了,不过在使用方式上存在一些争议。这些争议主要来自两方面:业界的web开发者和浏览器制造者。web开发者提议创建一个新的picture元素(类似HMTL5中的video这样的元素),该元素中包含其他的图片源,示例代码如下:

  其中的img元素是默认情况下显示的图片源,在其上面的两个source元素则是在特定媒体查询(mediaqueries)条件下显示的图片——这也是开发者所喜欢的一种解决方案。

  ScottJehl针对图片元素创建了polyfill项目,就是利用了这种思想,你现在可是就可以使用它了。

  浏览器开发者则是通过给img元素标签增加srcset属性来解决此问题的,功能一样,然而直觉上不好理解。

  以srcset的一个值为例讲解:

  path-to-another-image.jpg600w200h2x

  path-to-another-image.jpg是不言自明的,当符合下述条件时就使用该图片

  依据mediaqueries要求,设备最小尺寸为600w和200h

  浏览器有以2x像素密度显示的能力

  因此这里所表达的意思是,当浏览器能够处理2x像素图片,,且设备至少是600px宽、200px高的情况下,使用此图片源显示。此种解决方法从浏览器开发者角度看是非常合适的,毕竟能够让浏览器自己通过算法获取设备的兼容性和像素密度。

  力图小编在网上找到了提供响应式图片的做法,我们可以模仿它的做法,如下:

  Markup—默认是用img元素标签

  javascript—决定viewport的尺寸,将存储在cookie中的相关信息传给服务器,而后再改变img标签的src属性。

  Server—获取初始图片请求,读取cookie,如果不是移动终端设备则返回1x1大小的空白占位图。然后等待JS脚本将真正的图片填充进去。

  这种方式并没有想期望中那样完美,却也给出了一种解决思路,可以让其他人在上面继续发挥。

  许多后续的方法其思路与此相仿,默认都是提供移动端图片,继而尝试探测设备属性后再发送合适大小的图片。

如何建站:
建网站需要准备哪些资料 如何购买域名空间 协助备案 成功案例 真实见证 建站类型有哪些 收费标准 建站流程 制作周期 改版美化 提升有户体验 [建站必看]源码内容交付 联系客服 专业建站

看了这篇文章的人还看了

专业建站 免费排名(有什么疑问的请留言或咨询在线客服)
  • 全部评论(0
    还没有评论,快来抢沙发吧!

上一篇:10个理由让你为什么要坚持好的设计

下一篇:LOGO和图标,你真的明白两者的异同点么?

  • 同行价格

    统一报价,无隐形消费

  • 金牌服务

    一对一专属顾问,7*24小时金牌服务

  • 售后无忧

    完善售后,客服经理全程跟进

建站优化二维码
建站优化二维码

截屏,微信识别二维码

微信号:13825575516

(点击微信号复制,添加好友)

优化二维码打开微信