写点什么

Chrome 38 通过<picture>元素支持 Art Direction

  • 2014-10-22
  • 本文字数:1310 字

    阅读完需:约 4 分钟

Google 在最近发布的 Chrome 38 中,增加了对元素的支持,让开发者能够针对不同类型的媒体查询(media queries)请求,指定多种不同的图像来源。

对于同样的图片,与传统的 PNG 或 JPG 图像格式相比,采用 Google 带来的 WebP 图像格式,下载流量最多将能够减少 25-34%。不过,尽管该图像格式能够降低网络传输数据量,从而使 Web 页面的上传速度将得以小幅提升,但为了满足 Web响应式设计的需求,还需要引入其他解决方案。

例如,根据 DPR``(设备 -``像素 -``比率),<img>``元素的 srcset``属性可以用来渲染若干固定尺寸图像中的一幅,如下图所示:

复制代码
<img src="/images/100-example.jpg"     
srcset="/images/150-example.jpg 1.5x, /images/200-example.jpg 2x"     
alt="" width="100" height="150">

而另一个方案是基于视区(viewport)大小,呈现经过缩放的图像:

复制代码
<img sizes="100vw" srcset="example-200.jpg 200w, example-600.jpg 600w,
example-1200.jpg 1200w” src="example-200.jpg">

Responsive Images Community Group (RICG)公布的信息来看,Chrome 34+、Safari 和 Firefox 33+(带有状态 flag)都支持 srcset 属性。微软则正在考虑为 IE 实现该特性。而 Opera 21+ 由于使用了 Chrome 的 Blink 引擎,所以同样支持该特性。WHATWG 小组详细列出了srcset 属性及其用法(点击查看详情)

有时候,用户代理需要呈现完整图片,或是呈现部分图片并排除不相干的部分,而这取决于设备的物理大小、屏幕分辨率、朝向(垂直或水平)及其他方面的因素。我们可以从如下示例图片(由 responsiveimages.org 提供)来了解这个被称为 Art Direction 的方法。

尽管也可以使用 JavaScript 来实现这一功能,但是实际上我们并不提倡这种做法,因为某些用户代理会在加载和运行任何脚本之前就下载页面图片;另一些则会在运行脚本、下载图片之前,让页面呈现出空白图片占位。因此,推荐的解决方案是使用<a href="https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element">picture</a>元素,它让开发者能够指定多重图像来源,并将它们与媒体查询结合。

下面的示例展示了为多种 DPR 提供不同图片来源的方法:

复制代码
<picture>   <source media="(max-width: 500px)"
srcset="banner-phone.jpeg, banner-phone-HD.jpeg 2x">   <
img src="banner.jpeg" srcset="banner-HD.jpeg 2x"
alt="The Breakfast Combo"> </picture>

当浏览器无法识别元素时,将使用元素作为回滚方案。 HTML 规范包含了其他示例,展示如何使用多重图像来源,用于图像的裁切或不同的图像格式。

Google 最近还在其稳定版分支(stable channel)中公布了一份可以用在 Chrome 38 中进行测试运行的 Art Direction 的示例。运行该示例的时候,用户要想观测到效果,需要调整浏览器窗口的大小,强迫浏览器呈现不同的图片。

目前,只有Chrome 38+ 和Opera 25+ 能够完整地支持元素。Firefox 33+ 也支持这一元素,但需要人工启用。而对IE 或Safari 来说,具体的情况目前尚不清楚。对于尚不支持这一特性的浏览器,想要创建响应式图片的开发者可以使用 Picturefill Polyfill 作为替代方案。

查看英文原文: Chrome 38 Supports Art Direction through the picture Element

2014-10-22 03:151523
用户头像

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

关注

评论

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

和鲸101领航:ModelWhale助航遥中心改革AI科研范式

ModelWhale

人工智能 大数据 遥感应用

Kafka多维度调优

快乐非自愿限量之名

kafka 调优

携手知名律所,合合信息旗下名片全能王打造数字化名片“新范式”

合合技术团队

合合信息 数字名片 名片全能王

OceanBase 金融项目优化案例

不在线第一只蜗牛

金融 案例分享 优化 oceanbase

零售企业的“智慧大脑”:配补调系统为何不可或缺?

第七在线

和鲸101领航:同济MBA与和鲸共建数智人才培养计划

ModelWhale

大数据 数字化 同济大学MBA

极限网关助力好未来 Elasticsearch 容器化升级

极限实验室

elasticsearch 网关 极限网关 极限科技

软件测试学习笔记丨Linux系统与shell环境准备

测试人

软件测试

想做物联网卡系统 是因为不想忍

开源物联卡管理平台-设备管理

物联网 IoT eSIM安全 java 技术提升

孤勇者80岁老教授40年打造国产数据库第一股,达梦开盘暴涨260%

NineData

数据库迁移 国产数据库 武汉达梦数据库 达梦上市 云数据库技术

关于web自动化过程中滑块解锁问题以及页面滚动的问题的研究

测试人

软件测试 自动化测试 测试开发

如何画一个系统的设计图

京东科技开发者

妙用OSGraph:发掘GitHub知识图谱上的开源故事

TuGraphAnalytics

GitHub tugraph antv osgraph x-lab

生成式推荐系统与京东联盟广告-综述与应用

京东科技开发者

湖仓一体全面开启实时化时代

Apache Flink

大数据 flink paimon streaming lakehouse

鸿蒙系统中的像素单位与API使用详解

彭康佳

android 鸿蒙 分辨率

业界领先的多核异构框架RTONBOOT介绍

winfredy

无人机 机器人 工业自动化 3D打印 精密运动控制

如何在鸿蒙系统中设置Image的按压态

彭康佳

android 华为 鸿蒙

和鲸101领航:跨学科实训赋能人大数据人才培养,共推新文科建设

ModelWhale

大数据 中国人民大学 新文科

PPT下载 | 构建数据价值高速路--DataOps的应用实践与前沿探索

数造万象

数据治理 数据开发 科技 DataOps

深度解析:国有企业数字化转型的背景、现状与思路

优秀

数字化转型 央国企数字化转型 国企数字化转型

2024最新电竞体育直播源代码示例演示、及详细功能讲解

软件开发-梦幻运营部

面试官:谈谈对SpringAI的理解?

王磊

Java 面试

解决DevEco Studio中的“Cannot find module”编译错误问题

彭康佳

android 鸿蒙

解决TaskPool中线程管理和XML解析问题的指南

彭康佳

又一个小伙伴在深圳上车安家~

江南一点雨

如何快速开发一个鸿蒙原生app

FinFish

HarmonyOS 小程序技术 小程序容器技术 鸿蒙app 鸿蒙原生应用开发

千万级流量冲击下,如何保证极致性能

EquatorCoco

网站 流量

疫情之后规模最大!武汉站Meetup,腾讯云与Elastic共绘ES在AI时代搜索技术新蓝图!

腾讯云大数据

ES

技术解读华为云CCE Autopilot,k8s集群托管免运维

华为云开发者联盟

Kubernetes 云原生 华为云 华为云开发者联盟 企业号2024年6月PK榜

TDengine Open Day 成功举办:洞察技术革新与职场策略!

TDengine

数据库 tdengine 时序数据库

Chrome 38通过<picture>元素支持Art Direction_JavaScript_Abel Avram_InfoQ精选文章