写点什么

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:071571
用户头像

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

关注

评论

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

2022 年 Java 行业分析报告

看山

Java 行业报告

GNU/Linux知识库(2)- 安装和文件系统

冯亮

Linux DevOps GNU

力扣每日一练之数组下篇Day3

京与旧铺

6月月更

异步任务处理系统,如何解决业务长耗时、高并发难题?

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算 FC

GNU/Linux知识库(3)- 命令行和包管理

冯亮

Linux DevOps GNU

Android MediaPlayer音频播放器详解

yechaoa

android 6月月更 MediaPlayer

华为云图引擎服务

程思扬

华为 华为云 云开发

Prometheus、Grafana安装配置linux服务器监控dashboard

橙子猿

golang Prometheus #Grafana

《网络是怎么样连接的》读书笔记 - 认识网络基础概念(一)

懒时小窝

网络编程

关于分布式系统一致性

Joseph295

简约而不简单的Kanban方法

Bruce Talk

Kanban 敏捷开发 Agile

《清单革命》:如何忙而不乱?

郭明

读书笔记

Java—虚拟机

武师叔

6月月更

NFT新范式,OKALEIDO创新NFT聚合交易生态

鳄鱼视界

架构实战营|模块4

KDA

#架构实战营

千万学生管理系统试卷存储方案

intelamd

测试开发【Mock平台】07开发:项目管理(三)组件Modal和Form讲解,并利用其实现添加功能

MegaQi

测试平台开发教程 6月月更 测试技术干货

vue全局守卫

小恺

6月月更

Java 应用压测性能问题定位经验分享

阿里巴巴云原生

阿里云 云原生 压测 性能压测

OKALEIDO:NFT交易平台的发展趋势是什么?

股市老人

SDN系统方法 | 8. 网络虚拟化

俞凡

架构 网络 sdn SDN系统方法

TypeScript中你可能会忽略的细节

真嗣

typescript 前端

千万级学生管理系统的考试试卷存储方案

joak

详解python的运行方式

左手の明天

Python 运行原理

架构训练营模块四作业

融冰

千万级学生管理系统考卷模块存储架构设计

泋清

#架构训练营

Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch

看山

Java Switch

列表视图——基于函数的视图 Django

海拥(haiyong.site)

Python django 6月月更

【mycat】mycat在windows环境下的安装和启动

迷彩

架构 mycat 数据库中间件 MySQL 数据库 6月月更

网上教学 助力战疫 | 社区征文

yu

原创 原创保护 初夏征文

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