4万字《腾讯云技术实践精选集 2021》发布,点击下载 了解详情
写点什么

Chrome 十周年版更新了,你第一次用它是什么时候?

  • 2018 年 9 月 16 日
  • 本文字数:0 字

    阅读完需:约 1 分钟

在 Chrome 69 中,UI 风格有了比较鲜明的变化,整体更符合 Material Design 扁平化的设计语言,与 Safari 类似,现在 Chrome 也可以为用户生成安全密码,而且还新添加了对以下内容的支持:

  • 通过 CSS Scroll Snap 创建流畅平滑的滚动体验;

  • 兼容刘海屏;

  • 通过 Web Locks API 异步获取锁,在执行任务期间保持锁,然后释放它。

更多内容请戳: https://developers.google.com/web/updates/2018/09/nic69#more   

CSS Scroll Snap  

开发者可以通过 CSS Scroll Snap 来创建流畅平滑的滚动体验。开发者声明目标滚动位置,告诉浏览器在执行完滚动操作后停在哪个位置。这对于某些场景非常有用,比如在进行图像轮播或分页时,可以让用户滚动到指定位置。

视频链接: https://developers.google.com/web/updates/images/2018/07/css-scroll-snap/gallery-page.mp4

对于图像轮播,可以为滚动容器添加 scroll-snap-type: x mandatory;,同时为每个图像添加 snap-align: center;。然后,当用户进行滚动操作时,每个图像将平滑地滚动到目标位置。
复制代码
#gallery {
scroll-snap-type: x mandatory;
overflow-x: scroll;
display: flex;
}
#gallery img {
scroll-snap-align: center;

兼容刘海屏

随着越来越多的手机使用刘海屏,Chrome 浏览器会为页面腾出一些额外的空间,这样内容就不会被凹口遮住。  

但如果你想要使用凹口空间该怎么办?

使用 CSS 环境变量和 viewport-fit 元标记就可以实现你的目的。例如,要让浏览器扩展到凹口区域,可以在 viewport 元标记中将 viewport-fit 属性设置为 cover。
复制代码
<meta name='viewport' content='initial-scale=1, viewport-fit=cover'>
然后,你就可以使用 safe-area-inset-*CSS 环境变量来布局内容。
复制代码
.content {
padding: 16px;
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}

Web Locks API

Web Locks API 让开发者可以异步获取锁,在执行任务期间保持锁,然后释放它。在保持锁的同时,origin 中的其他脚本无法获取相同的锁,从而有助于协调共享资源的使用。

例如,如果在多个选项卡中运行的 Web 应用程序想要确保同时只有一个选项卡可以进行网络同步,那么同步代码就需要尝试获取一个叫作 network_sync_lock 的锁。

复制代码
navigator.locks.request('network_sync_lock', async lock => {
// 获取锁
await do_something();
await do_something_else();
// 锁将被释放
});

第一个获取到锁的选项卡将开始网络同步。如果另一个选项卡尝试获取相同的锁,它需要排队。锁被释放后,队列中的下一个请求将获得锁。

MDN 提供了一个很棒的 Web Locks 入门教程,进行了更深入的解释,并提供了大量示例( https://developer.mozilla.org/en-US/docs/Web/API/Web_Locks_API )。

以上这些只是针对开发人员的一些变化,当然还有其他更多特性:

  • 根据 CSS4 规范,现在可以使用圆锥渐变来创建围绕圆周的颜色过渡。Lea Verou 提供了一个 CSSconic-gradient() polyfill( https://leaverou.github.io/conic-gradient/ ),这个主页上还有一大堆由社区提交的非常酷的示例。
  • 为元素新增了一个 toggleAttribute() 方法,用于切换属性的存在与否,类似于 classList.toggle()。
  • JavaScript 数组新增了两个方法:flat() 和 flatMap()。它们返回一个新数组,其中包含了所有子数组元素。
  • OffscreenCanvas 将主线程的任务转移给了 worker,以帮助消除性能瓶颈。  

查看英文原文: https://developers.google.com/web/updates/2018/09/nic69

2018 年 9 月 16 日 19:001159
用户头像

发布了 731 篇内容, 共 389.5 次阅读, 收获喜欢 1920 次。

关注

评论

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

燃炸!字节跳动成功上岸,只因刷爆LeetCode算法面试题

Java~~~

Java 架构 面试 算法 LeetCode

华为3位大咖吐血整理出600多页Spring微服务架构设计

Java~~~

Java spring 架构 面试 微服务

百度智能云天工物联网支持多种类数据传输!MQTT助力数据、语音、视觉应用智能化

百度开发者中心

产品 最佳实践 前沿技术 企业资讯

网络攻防学习笔记 Day121

穿过生命散发芬芳

网络安全 8月日更

啃透这500页高并发笔记薪资涨了20K,并连收天猫,京东等5个Offer

Crud的程序员

Java 程序员 java编程

四年Java开发,七月跳槽斩下腾讯Offer,整理面试之路(T3级)

Crud的程序员

Java 程序员 架构 编程语言

信息安全等级保护四级常见问题解答

行云管家

网络安全 信息安全 堡垒机 等级保护

熟悉Linux tail 命令

王林

前阿里P8狂总结出1000页Java面试核心原理+框架篇笔记

Java~~~

Java spring 架构 面试 微服务

架构实战训练营模块六作业

Clarke

面试工长

escray

生活记录 8月日更 装修记

绿色篮子小程序开发

(王经理)专业app小程序开发

重磅升级!融云推出 IM+RTC+X「全」通信解决方案

融云 RongCloud

开发者 音视频 通信 即时通讯

ArrayList和LinkedList在性能方面的差别,能有多大?

普普通通程序员

Paxos理论介绍(1): 朴素Paxos算法理论推导与证明

OpenIM

Filecoin挖矿收益高涨,Filecoin挖矿收益怎么计算?

区块链 分布式存储 IPFS filecoin挖矿 filecoin收益

一上来就主从、集群、哨兵,这谁受得了

阿Q说代码

redis 命令 8月日更 五大基础类型

fil挖矿步骤教程是什么?fil挖矿规则是什么?

fil挖矿步骤教程是什么 fil挖矿规则是什么

ipfs挖矿用什么app?ipfs挖矿收益计算器怎么看?

ipfs挖矿用什么app ipfs挖矿收益计算器怎么看

财经大课:商业的边界

石云升

8月日更 财经思维

无代码是什么?

低代码小观

无代码开发 无代码 无代码平台

如何做好Clickhouse集群的监控覆盖?

BUG侦探

大数据 Clickhouse 监控系统

安卓主板RK3288 RK3128 RK3399有哪些特点?

双赞工控

安卓主板 rk3288主板 rk3399主板 rk3128主板

低代码是什么?

低代码小观

低代码 低代码开发平台

InfoQ引航计划|合集排版规范

InfoQ写作平台官方

引航计划

漫游语音识别技术——带你走进语音识别技术的世界

声网Agora

语音识别

Filecoin未来会涨到多少?Filecoin挖矿现在入场合适吗?

区块链 分布式存储 IPFS fil大涨 filecoin挖矿

InfoQ引航计划|文章排版规范

InfoQ写作平台官方

云时代,用对工具就能让云上运维工作事半功倍!

行云管家

云计算 云服务 混合云 云时代 云运维

瞬间登上牛客网热榜榜首!腾讯内部68W字Netty全栈宝典简直太香了

Java 编程 架构 面试 Netty

javaer 徒手撸一个 python 语言的分布式 rpc

awen

Python 微服务 RPC

Chrome十周年版更新了,你第一次用它是什么时候?-InfoQ