写点什么

Web 响应图像综述

  • 2013-08-22
  • 本文字数:943 字

    阅读完需:约 3 分钟

WebKit 每日构建版本现在支持图像元素的 W3C srcset 属性规范,允许开发人员为拥有高分辨率显示器的用户指定更高质量的图像,而又不妨碍没有高分辨率显示器的用户。它还为尚不支持该特性的浏览器提供了一个很好的后备方案:

复制代码
<img alt="My reakfast"
src="breakfast.jpeg"
srcset="breakfast-HD.jpeg 2x, breakfast-phone.jpeg 100w, breakfast<br></br>-phone-HD.jpeg 100w 2x">

WebKit 支持 CSS 函数 -webkit-image-set 已经有段时间了,它与 srcset 属性非常相似,可以为包含图像的 CSS 属性提供一个候选图像的 URL 列表,每个 URL 的后面都有一个修饰符,如“2x”。这样,浏览器可以为用户设备选择最好的图像:

复制代码
body {
background: -webkit-image-set( url('path/to/image') 1x, url<br></br>('path/to/high-res-image') 2x );
}

WebKit 采取这一行动的时候,社区和浏览器实现者还在争论“什么是 Web 响应图像的最佳选择”。响应图像社区组织(RICG)将在数周后齐聚巴黎,讨论响应图像的前进方向。在召集会议时,RICG 的 Yoav Weiss 概括了响应图像未来的潜在解决方案和当前开发人员的实践

过去的几年里,在 Web 开发人员的极大关注下,各团体的成员都致力于寻找一种方法为 Web 带来响应图像。虽然现在有三种待讨论的方案(srcset[1]、[2] 和 client-hints[3]),但是由于无法预知浏览器实现的必然趋势,所以我们宁愿让市场来决定哪一种解决方案能最有效地满足应用场景。

与此同时,Web 开发人员不得不自定义 polyfill, 这经常会阻止浏览器加载图像资源,直到 DOM 加载完成(至少是部分加载完成),并且页面上的 JavaScript 已经运行。这直接阻碍了浏览器工程师多年来一直从事的性能工作,包括优化资源加载和根据优先级尽快取得线上请求。上述情况使开发人员陷入了两难境地,“我们是延迟图像加载呢,还是下载不必要的图像数据而导致整个加载时间延长进而夸大了用户账单呢?”

为应对 Web 响应图像的挑战,当前流行的解决方案包括:

  • Picturefill :一个 polyfill,模拟已拟定的元素
  • HiSRC :一个 jQuery 插件,在页面加载的时候,根据设备支持情况,选择下载(或不下载)高分辨率的版本
  • “自适应图像( Adaptive Images )”:一个服务器端解决方案,用于提供正确的图像分辨率 / 尺寸

查看英文原文: Round-up on Responsive Images for the Web

2013-08-22 00:071902
用户头像

发布了 256 篇内容, 共 100.7 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

智汇华云 | ArSDN给VMware带来了什么

华云数据

直播预告|智能运维管理平台OMP核心特性及落地场景介绍

云智慧AIOps社区

DevOps 运维 AIOPS 智能运维 运维管理

seata入门介绍与seata-service部署与验证(一)

恒生LIGHT云社区

架构 分布式 seata

AI实战分享 | 基于CANN的辅助驾驶应用案例

华为云开发者联盟

目标检测算法 CANN 昇腾 辅助驾驶 AscendCL

探索 Design Token

凹凸实验室

前端 设计

智汇华云 | 桌面云卓越体验下的协议技术解析

华云数据

参加过 4 届 TiDB Hackathon 是一种什么体验? | TiDB Hackathon 选手访谈

PingCAP

带你详细了解 Node.js 中的事件循环

编程江湖

前端开发 node,js

计划被打乱怎么办?

Tiger

28天写作

科技令生活“焕然一新”|年末清洁黑科技:美菱洗地机!

联营汇聚

美菱洗地机

Java序列化与反序列化

编程江湖

低代码行业浅析

凹凸实验室

前端 低代码

如何使用Kubernetes里的NetworkPolicy

汪子熙

Kubernetes k8s 28天写作 docker build 12月日更

从翻硬币游戏看敏捷开发

华为云开发者联盟

敏捷 敏捷开发 软件开发 团队 开发

【转】前端开发之React Native SDK 升级问题

@零度

前端 React Native

Linux之find常用命令汇总

入门小站

拍乐云解析融合语音通话技术实践

拍乐云Pano

音视频 RTC 拍乐云 技术干货 融合语音通话

我的2021之感谢有你们(上篇)

坚果

年终总结 28天写作 12月日更 盘点2021

资料分享|kafka学习推荐书籍

Kafka中文社区

给弟弟的信第27封|学会说不,别让面子害了你

大菠萝

28天写作

【转】java开发之批处理框架 Spring Batch

@零度

JAVA开发 spring batch

智汇华云 | 使用Kubeadm进行Kubernetes集群版本升级

华云数据

观点 | NoSQL 产品的 SaaS 化之路

RadonDB

数据库 nosql NoSQL 数据库

用户文章转载:P4 Rmdir 会自动删除空目录?不,没那么简单

龙智—DevSecOps解决方案

perforce P4 P4 Rmdir

大型软件交付项目注意事项53条

IT民工大叔

项目管理 SaaS

28《重学JAVA》--注解

杨鹏Geek

Java25周年 28天写作 12月日更

netty系列之:好马配好鞍,为channel选择配套的selector

程序那些事

Java Netty 程序那些事 12月日更

走访数年,编撰3年:你能看到的互联网企业案例最多的一本书

博文视点Broadview

行业分析| 实时音视频的未来

anyRTC开发者

音视频 WebRTC 实时通信 语音通话 视频通话

实战大数据,HBase 性能调优指南

编程江湖

HBase

带你了解家居智能的心脏:物联网关

华为云开发者联盟

物联网 智能家居 物联网关 智能网关 家庭网络

Web响应图像综述_JavaScript_Dio Synodinos_InfoQ精选文章