Chrome 118 版本中的新功能

Google Chrome 的最新版本V118正式版 2023/10/10 发布,以下是新版本中的相关新功能供参考。

本文翻译自 New in Chrome 118,作者: Adriana Jara, 略有删改。

以下是主要内容:

  • 使用@scope css规则在组件中指定特定样式。

  • 有两个新的媒体功能:scriptingprefers-reduced-transparency

  • DevTools在“源代码”面板中进行了改进。

  • 其他内容

我是Adriana Jara。让我们深入了解一下Chrome 118中为开发人员带来的新功能。

CSS @scope rule

@scope at-rule允许开发人员将样式规则的范围限定到给定的作用域根,并根据该作用域根的接近程度来样式元素。

使用@scope,你可以覆盖基于接近度的样式,这与通常的CSS样式不同,通常的CSS样式只依赖于源代码的顺序和特异性。在下面的例子中,有两个主题。

<div class="lightpink-theme"><a href="#">I'm lightpink!</a><div class="pink-theme"><a href="#">Different pink!</a></div>
</div>

如果没有作用域,则应用的样式是最后声明的样式。

没有@scope

.pink-theme a { color: hotpink; }
.lightpink-theme a { color: lightpink; }

有了作用域,你可以有嵌套的元素,并且应用的样式是最近的祖先的样式。

使用@scope

@scope (.pink-theme) {a {color: hotpink;}
}@scope (.lightpink-theme){a {color: lightpink;}
}

有了作用域后不必编写冗长、复杂的类名,在管理更大的项目和避免命名冲突变得更加容易。

没有@scope

<div class="first-container"><h1 class="first-container__main-title"> I'm the main title</h1>
</div>
<div class="second-container"><h1 class="second-container__main-title"> I'm the main title, but somewhere else</h1>
</div>
.first-container__main-title {color: grey;
}.second-container__main-title {color: mediumturquoise;
}

使用@scope

<div class="first-container"><h1 class="main-title"> I'm the main title</h1>
</div>
<div class="second-container"><h1 class="main-title"> I'm the main title, but somewhere else</h1>
</div>
@scope(.first-container){.main-title {color: grey;}
}
@scope(.second-container){.main-title {color: mediumturquoise;}
}

有了@scope范围,你也可以对组件进行样式化,而不对嵌套在其中的某些东西进行样式化。

就像下面的例子一样,我们可以将样式应用于文本并排除控件,反之亦然。

<div class="component"><div class="purple"><h1>Drink water</h1><p class="purple">hydration is important</p></div><div class="click-here"><p>not in scope</p><button>click here</button></div><div class="purple"><h1 class="purple">Exercise</h1><p class="purple">move it move it</p></div><div class="link-here"><p>Excluded from scope</p><a href="#"> link here </a></div>
</div>
@scope (.component) to (.click-here, .link-here) {div {color: purple;text-align: center;font-family: sans-serif;}
}

查看文章https://developer.chrome.com/articles/at-scope/以获取更多信息。

scripting和prefers-reduced-transparency

我们使用媒体查询来提供适应用户偏好和设备条件的用户体验。此Chrome版本增加了两个新值,可用于调整用户体验。

当我们的用户访问Web网页时,我们可能认为脚本的存在是理所当然的,但是脚本并不总是启用的,现在使用scripting媒体功能,可以检测脚本是否可用并为不同的情况应用特定的样式,可用的值是:enabledinitial-onlynone

@media (scripting: none) {.script-none {color: red;}
}

使用媒体查询测试的另一个值是prefers-reduced-transparency,它允许开发人员根据用户选择的偏好调整Web页面内容,以降低操作系统中的透明度,例如macOS上的降低透明度设置。有效选项为reduceno-preference

.translucent {opacity: 0.4;
}@media (prefers-reduced-transparency) {.translucent {opacity: 0.8;}
}

在DevTools中的效果:

有关更多信息,请查看scripting(https://developer.mozilla.org/zh-CN/docs/Web/CSS/@media/scripting)和prefers-reduced-transparency(https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency)文档。

DevTools中的面板改进

DevTools在面板中有以下改进:工作区功能提高了一致性,Sources>Workspace允许您在DevTools中所做的更改直接同步到源文件。

此外可以通过拖放对“Sources”面板左侧的窗格进行重新排序,并且“Sources”面板现在可以在以下脚本类型中精确打印内联JavaScript:moduleimportmapspeculationrules并突出显示importmapspeculationrules脚本类型的语法,这两种脚本类型都包含JSON

更多其他内容

  • WebUSB API现在向浏览器扩展注册的Service Workers公开,允许开发人员在响应扩展事件时使用API。

  • 为了帮助开发人员减少支付请求流程中的摩擦,我们将删除Payment RequestSecure Payment Confirmation中的用户激活要求。

  • Chrome的发布周期越来越短,稳定版本将每三周发布一次,从Chrome 119开始,它将在三周后发布。

这只涵盖了一些关键的亮点。查看原文了解Chrome 118中的其他更改。

  • Chrome DevTools新增功能(118)
  • Chrome 118弃用和移除
  • Chrome 118的ChromeStatus.com更新
  • Chromium source repository change list
  • Chrome发布日历

看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis 实现简单增删改查

目录 前言 一、Mybatis是什么 二、配置Mybatis环境 三、创建数据库和表 四、添加业务代码 4.1、添加实体类 4.2、添加mapper接口 4.3、添加实现接口方法的xml文件 五、简单的增删改查操作及单元测试 5.1、单元测试 单元测试具体步骤&#xff1a; 单元测试如何才能不污…

微信小程序动态海报

参考文献&#xff1a; 微信小程序生成分享海报&#xff08;附带二维码生成&#xff09; - 简书 需求背景&#xff1a; 微信小程序固定图片&#xff0c;无法自动链接&#xff0c;分享页面内容 解决方案&#xff1a; 拆分海报内容&#xff0c;由以下几个组成 1、用户图像 …

好莱坞编剧大罢工终于结束;与OpenAI创始人共进早餐;使用DALL-E 3制作绘本分享;生成式AI的基础设施架构 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f525; 好莱坞编剧大罢工终于结束&#xff1a;简单说就是AI妥协了 https://www.wgacontract2023.org/the-campaign/summary-of-the-2023-wga-…

【Python爬虫 js渲染思路一】

Python爬虫 破解js渲染思路一 当我们在谈论网页js渲染的时候&#xff0c;我们在谈论什么 js渲染网页&#xff0c;从某种程度来说&#xff0c;是指单纯的http请求&#xff0c;返回的文本数据&#xff0c;与我们在浏览器看到的内容&#xff0c;相距甚远.其可包括为以下几点&…

C++的高手之旅

要学习C并成为C大佬&#xff0c;以下是一些建议&#xff1a; 掌握C基础知识&#xff1a;C是一种面向对象的编程语言&#xff0c;它包含了C语言的大部分语法和特性。因此&#xff0c;学习C之前&#xff0c;建议先掌握C语言的基础知识&#xff0c;包括数据类型、控制流、指针、内…

微调Yolov8动物姿势估计模型

本文主要以狗的姿势估计为例,展示如何对当下流行的YOLOv8姿势模型进行Fine-tuning,并附录完整代码。 动物姿势估计是计算机视觉领域的一个研究方向,它是人工智能的一个子领域,专注于自动检测和分析图像或视频中动物的姿势和位置。其目标是确定一个或多个动物身体部位的空间…

msvcr120.dll丢失怎样修复?总结msvcr120.dll丢失的5修复方法

在使用计算机的过程中&#xff0c;我们常常会遇到各种问题&#xff0c;其中之一就是“计算机丢失msvcr120.dll丢失的困扰”。这个问题可能对一些人来说并不陌生&#xff0c;但是对于初次遇到这个问题的人来说&#xff0c;可能会感到无所适从。因此&#xff0c;小编将详细探讨这…

免费开源的非标项目型制造BOM一键导入方案介绍

非标项目型制造&#xff0c;每一个订单都会引入很多新料号、新BoM、新工艺路线。实施ERP/MES系统&#xff0c;实现生产管理数字化&#xff0c;第一步就是要导入这些料号、BoM和工艺。项目型制造&#xff0c;大多数订单只生产一次。但在ERP/MES系统中&#xff0c;订单的料号、Bo…

React 注意事项

在使用 React 进行开发时&#xff0c;有一些注意事项可以帮助你更好地使用这个JavaScript库。以下是一些需要注意的事项&#xff1a; 组件结构和组织 尽量保持组件简单和可复用&#xff1a;将组件拆分为较小和独立的部分&#xff0c;以提高代码的可维护性和可测试性。遵循单一…

解决:Package ‘setuptools‘ requires a different Python: 3.7.16 not in ‘>=3.8‘

#conda install setuptools pip install --upgrade "setuptools<65" Collecting setuptools<65 Downloading setuptools-64.0.3-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1…

【Unity】【VR】如何让Distance Grab抓取物品时限制物品的Rotation

【背景】 遇到这样的场景,希望抓取Canvas时,Canvas不会沿Z轴旋转。 【问题】 发现Freeze Canvas的Rigid Body没有用。 【分析】 应该是RigidBody的限制仅在物理互动下生效,抓取可能不属于物理互动(比如碰撞),所以不生效。 【思路】 还是得写脚本挂载在Interacta…

存档&改造【06】Apex-Fancy-Tree-Select花式树的使用误删页数据还原(根据时间节点导出导入)

之前一直想实现厂区-区域-产线之间的级联选取&#xff0c;于是导入插件Apex-Fancy-Tree-Select花式树 存档&#xff06;改造【03】Apex-Fancy-Tree-Select花式树的导入-CSDN博客 现在则是在Oracle Apex中的应用 花式书级联列表展示厂区-区域-产线 想要实现的效果 由厂区>…

Day 6 C++

#include <iostream> //不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一位讲解员&#xff0c;他会为每种动物表演做简单的介 //绍。定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不…

真人现在猫鼠躲猫猫游戏搭建流程:专业思考与深度思考

真人现在猫鼠躲猫猫游戏是种充满乐趣和挑战的团队竞技游戏。本文将从游戏规则设计、场地布置、技术实现和用户体验等方面&#xff0c;深入探讨人现在猫鼠躲猫猫游戏的搭建流程&#xff0c;并结合专业思考与深度思考&#xff0c;为游戏搭建提供全面指导。 一、游戏规则设计&…

安防初识命令【学习笔记】

1、美杜莎爆破 medusa -M ssh -h 192.168.42.135 -u guest -P top1000.txt -t 8 2、passwd文件与shadow文件 root:x:0:0:root:/root:/usr/bin/zsh 用户名&#xff1a;密码&#xff1a;uid&#xff1a;gid&#xff1a;描述性信息&#xff1a;主目录&#xff1a;默认…

c++ 静态变量 静态函数

1. 静态成员变量 1.1 简介 静态成员变量&#xff08;static member variable&#xff09;是属于类而不是类的实例的成员变量。它们在类的所有实例之间共享&#xff0c;只有一个副本存在于内存中。静态成员变量使用 static 关键字进行声明和定义&#xff0c;并且必须在类的外部…

网工笔记整理:策略工具Filter-policy的使用

一、概述 Filter-Policy&#xff08;过滤-策略&#xff09;是一个很常用的路由信息过滤工具&#xff0c;能够对接收、发布、引入的路由进行过滤&#xff0c;可应用于IS-IS、OSPF、BGP等协议。 Filter-policy在距离矢量路由协议中的应用 filter-policy import&#xff1a;不发…

Springboot引入jasypt实现加解密

一、前言 有时在实际应用中&#xff0c;我们可能需要使用到一些秘钥&#xff0c;针对某些资源文件中的内容通常情况下是明文显示&#xff0c;安全性就比较低一些&#xff0c;比如redis登陆密码以及第三方的密钥等等一览无余&#xff0c;这时就可以使用jasypt来实现加解密。 二…

提高企业竞争力的秘密武器—奇高智能呼叫中心系统

在现代商业竞争日益激烈的时代&#xff0c;企业如何提高自身的竞争力是所有企业家和管理者必须思考的问题。而奇高智能呼叫中心系统可以说是提高企业竞争力的秘密武器之一。 奇高智能呼叫中心系统作为一种基于云计算技术的新型客户服务系统&#xff0c;具有自动分配、多渠道服…

行业追踪,2023-10-11

自动复盘 2023-10-11 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…