首页 > 其他分享 >Chrome 118 版本中的新功能

Chrome 118 版本中的新功能

时间:2023-10-13 19:32:15浏览次数:43  
标签:title Chrome color 版本 scope main 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 rel="nofollow" href="#">I'm lightpink!</a>
  <div class="pink-theme">
    <a rel="nofollow" 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">
   I'm the main title
</div>
<div class="second-container">
   I'm the main title, but somewhere else
</div>
.first-container__main-title {
  color: grey;
}

.second-container__main-title {
  color: mediumturquoise;
}

使用@scope

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

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

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

<div class="component">
  <div class="purple">
    Drink water
    <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">
    Exercise
    <p class="purple">move it move it</p>
  </div>

  <div class="link-here">
    <p>Excluded from scope</p>
    <a rel="nofollow" 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)

标签:title,Chrome,color,版本,scope,main,118,样式
From: https://blog.51cto.com/react/7850559

相关文章

  • Cloud Kernel SIG 月度动态:发布多个 ANCK 版本,引入多个第三方硬件驱动
    CloudKernelSIG(SpecialInterestGroup):支撑龙蜥内核版本的研发、发布和服务,提供生产可用的高性价比内核产品。01SIG整体进展1.龙蜥社区完成申威架构的ISO镜像制作,可正常安装启动运行。2.硬件驱动方面引入基线的L0级别的硬件驱动到社区。3.引入浪潮自研的inspur-drm显......
  • C# 程序兼容同一个dll的不同版本
    当程序多个dll引用同一个dll的不同版本时,程序启动会报错,此时需要在启动程序集的App.config下增加以下配置以log4为例子<configuration><startup><supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.5"/></startup><runtime>......
  • 2023版本Phpstorm的运行和初始文件配置
    1.PHPForWindows:BinariesandsourcesReleases官网下载配置包php-8.0.30-nts-Win32-vs16-x64.zip  2.解压 3.复制php.ini-production,将副本更名为php.ini作为初始文件 4.编辑php.ini文件 a.取消extension_dir的;注释 b.找到配置包中的ext文件路径,赋值给exten......
  • 本地有多个node切换不同版本node方法
    1.在当前使用的node版本,进行你要切换node版本的设置和配置npmconfigsetprefix"F:\node14\node_global"npmconfigsetcache"F:\node14\node_cache"假如你当前使用的是node14,这里就写node18,当前使用的是node18,这里就写node14。当然具体的路径名称根据你本地安装路径来配......
  • Docker dnmp 多版本php安装 php8.2
    Laravel9开发需要用到php8.1以上的版本,而dnmp只支持到php8.0。安装php8.2的步骤如下: 1.从/services/php80目录复制一份出来,重命名为php82,extensions目录只保留 install.sh和 install-php-extensions这两个文件 2.修改.env文件,添加php82的配置参数:##PHP82##......
  • 近百个最新免费chatgpt访问集合,包含国内直接访问和国外升级版本
    近百个最新免费chatgpt访问集合,包含国内直接访问和国外升级版本。ChatGPT是一个基于人工智能的聊天机器人,它可以与用户进行自然语言交互。ChatGPT使用了最新的自然语言处理技术,包括深度学习和神经网络,以便更好地理解用户的意图和回答用户的问题。ChatGPT可以回答各种问题,包括但不限......
  • The Chrome Sandbox Part 2 of 3: The IPC Framework
    Thispostisthesecondpartofa3-partseriesabouttheChromesandbox.Inthefirstpost,IpresentedabasicoverviewoftheChromeprocessarchitectureandpresentedabreakdownoftheattacksurfacesforperformingprivilegeescalations.Thispostc......
  • 【Power BI】Power BI 入门指南:版本、下载和报表创建的步骤
    一、前言PowerBI是微软于2013年推出的产品,为一款商业智能与数据可视化工具。它通过引人注目的视觉效果,帮助我们深入理解数据所传递的信息。然而,PowerBI不仅仅局限于数据可视化,我们还可以利用其进行数据转化、操作以及开展其他卓越的工作。在本文中,我们将探讨PowerBIDes......
  • Linux平台下更换GCC版本号
    (1)使用sudoapt-getinstallgcc-xxx下载某个版本gcc,直至在终端输入(以gcc-12为例)gcc-12-v的时候能够输出对应的信息sudoapt-getinstallgcc-12(2)进入ubuntu系统的/usr/bin/文件夹中,此文件夹中存放链接文件(如链接文件gcc)此链接文件能够使得终端在输入gcc-v的时候输出对应......
  • 2024版Lightroom Classic13.0版本免激活版更新及资源
    2023年10月10日,Adobe又更新了LightroomClassic,当前最新的版本为13.0版本,本次更新最重磅的功能是使用人工智能AI来处理以前需要昂贵的镜头才能出来的模糊效果。LightroomClassic13.0版本使用了人工智能驱动的镜头模糊模糊背景或前景,轻松增加图像的深度。无需投资昂贵的镜头即可实......