大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

关注

评论

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

C#多线程开发-线程同步02

Andy阿辉

C# 多线程 多线程并发 8月日更

Zookeeper集群搭建

Mike

华为云严选上新啦!高效准确的数据同步方案来了

华为云开发者联盟

数据库 华为云 数据同步 英方软件 严选商城

在线JSON转MySQL建表语句工具

入门小站

工具

RTD 比率式温度测量传感器设计思路

不脱发的程序猿

学习 嵌入式 电路设计 硬件开发 ADI

【Flutter 专题】60 图解基本 Dialog 对话框小结

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

华云大咖说 | 混合IT架构的统一管理——安超云套件产品介绍

华云数据

07. 图灵测试与第一次AI浪潮

Databri_AI

人工智能

智汇华云 | ArSDN之分布式路由及浮动IP简介

华云数据

接口测试要测试什么?

与风逐梦

软件测试 接口测试

深入了解 RocketMQ 之ACL

邱学喆

签名 白名单 资源权限校验

Lua 入门到精通( 02 Lua 基本语法)《做一个脚本高手》

陈皮的JavaLib

lua Linux 运维 8月日更

华云大咖说 | 对象存储在金融行业的应用

华云数据

职场奇袭!3分钟完成一天工作

博文视点Broadview

接口测试进阶接口脚本使用--apipost(预/后执行脚本)

Proud lion

大前端 后端 Postman 开发工具 接口文档

Apache Pulsar 新增 2 位 PMC 成员:林琳与陈航

Apache Pulsar

腾讯云 Apache Pulsar

【重磅】微信开源PhxSQL:高可用、强一致的MySQL集群

OpenIM

webpack5之HMR原理探究

rayyang00

大前端 webpack

去中心化钱包开发,imtoken钱包开发

华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?

华为云开发者联盟

MySQL 关系型数据库 华为云数据库 GaussDB(for MySQL) 并行查询

Promise.any() 原理解析及使用指南

devpoint

Promise 9月日更

你知道 ES6~ES12等叫法是怎么来的吗?

编程三昧

JavaScript ecmascript 8月日更

Vue进阶(八十七):输入框事件 blur 与 change 的差异

No Silver Bullet

Vue 9月日更

深入了解现代web浏览器(第三部分)

GKNick

为了让医院把医护还给患者,他们用了这个….

华为云开发者联盟

数字化转型 医院 华为云 devcloud 全流程一体化

Week2 Homework

Ray_c

#架构实战营

POM 文件中 licenses 许可证的定义

HoneyMoose

有迹可循之CheckList

编号94530

Code Review 架构设计 checklist

VSCode配置JAVA开发环境

IT蜗壳-Tango

Java 9月日更

智汇华云 | 混合IT下的云管理套件核心技术解析

华云数据

4种Golang并发操作中常见的死锁情形

华为云开发者联盟

缓存 协程 并发 死锁 Go 语言

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