Chrome 118 版新功能

以下是一些注意事項:

我是 Adriana Jara讓我們深入瞭解 Chrome 118 為開發人員提供哪些新功能。

CSS @scope 規則。

@scope 規則可讓開發人員將樣式規則的範圍限定為指定的範圍根層級,並根據範圍根的鄰近程度來設定樣式元素。

您可以使用 @scope 根據相鄰性覆寫樣式,這與只依來源順序和特定性套用 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; }

兩個連結,第一個是「I&#39;m lightpink!」,第二個是「Different pink」,兩個連結實際上都是淺粉紅色,連結下方的文字則是來源順序宣告樣式。

透過範圍,您可以使用巢狀元素,而所套用的樣式是最近祖系的樣式。

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

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

其中兩個連結為「I&#39;m 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;
  }
}

有了範圍,您也可以為元件設定樣式,而不需要為其中巢狀的特定項目設定樣式。做法是在不套用範圍樣式的情況下納入「孔洞」。

如以下範例所示,我們可以將樣式套用至文字,並排除控制項,反之亦然。

上方 HTML 的表示法,其中第一個和第三個 div 旁邊的字詞在範圍內,而第二個和第四個 div 旁邊的字詞則在範圍外。

<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;
  }
}

如需更多資訊,請參閱「使用 CSS @scope at-rule 限制選取器的觸及範圍」一文。

prefers-reduced-transparency 個媒體功能

我們會使用媒體查詢,提供可配合使用者偏好設定和裝置狀況的使用者體驗。這個 Chrome 版本新增了可用於調整使用者體驗的新值:prefers-reduced-transparency

您可以使用媒體查詢測試的新值是 prefers-reduced-transparency,這可讓開發人員根據使用者選取的偏好設定調整網站內容,以減少作業系統的透明度,例如 macOS 上的「減少透明度」設定。有效選項為 reduceno-preference

.translucent {
  opacity: 0.4;
}

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

此外,您也可以使用開發人員工具檢查顯示內容:

詳情請參閱 prefers-reduced-transparency 說明文件。

更正:這篇文章的舊版本提到了這個版本中的新 scripting 媒體功能。但實際上是第 120 版。

開發人員工具中的「來源」面板改善項目

開發人員工具的「Sources」面板有以下改善項目:工作區功能改善了一致性,最明顯的例子是將「Sources」 >「Filesystem」窗格重新命名為「Workspace」,以及其他 UI 文字;「Sources」 >「Workspace」 也讓您可以將在開發人員工具中所做的變更,直接同步至來源檔案。

此外,您現在可以透過拖曳和放置,重新排序「Sources」面板左側的窗格,而「Sources」面板現在可以針對下列指令碼類型內嵌式 JavaScript 進行美化列印:moduleimportmapspeculationrules,並醒目顯示 importmapspeculationrules 指令碼類型的語法,這兩者都會保留 JSON。

在推測規則指令碼類型進行精美列印和語法醒目顯示前後。

如要進一步瞭解 Chrome 118 版 DevTools 的更新內容,請參閱「DevTools 的新功能」。

還有更多獎品等著您!

當然,還有更多功能。

延伸閱讀

這份報告僅涵蓋部分重點。如要瞭解 Chrome 118 版的其他變更,請點選下方連結。

訂閱

歡迎訂閱 Chrome Developers YouTube 頻道,即時掌握最新消息,每當我們推出新影片時,您都會收到電子郵件通知。

我是 Adriana Jara,Chrome 119 一推出,我就會在這裡告訴你 Chrome 有哪些新功能!