Chrome 118 の新機能

必知事項は次のとおりです。

アドリアナ・ジャラですChrome 118 のデベロッパー向け新機能を見てみましょう。

CSS @scope ルール。

@scope アットルールを使用すると、デベロッパーはスタイルルールのスコープを特定のスコープ対象ルートに制限し、そのスコープ対象ルートの近接性に応じて要素のスタイルを設定できます。

@scope を使用すると、近接性に基づいてスタイルをオーバーライドできます。これは、ソースの順序と特異性のみに基づいて適用される通常の CSS スタイルとは異なります。次の例では、2 つのテーマがあります。

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

2 つのリンク。1 つ目のリンクは「薄ピンクだよ!」2 つ目のリンクは「異なるピンク」と書かれており、実際には両方のリンクが薄いピンク色で、リンクのテキストの下にはソース順序宣言スタイルが書かれています。

スコープを使用すると、要素をネストでき、適用されるスタイルは最も近い祖先のスタイルになります。

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

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

2 つのリンク。1 つ目のリンクは「薄いピンク色」です。2 つ目のリンクは「異なるピンク」と表示され、2 つ目のリンクは濃いピンクで、リンクテキストに最も近い祖先スタイルの下にあり、その横に緑色のチェックマークが表示されています。

また、Scope を使用すると、長くて複雑なクラス名を書く必要がなくなり、大規模なプロジェクトの管理や名前の競合の回避が容易になります。

@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 の表現で、1 つ目と 3 つ目の div の横にスコープ内の単語があり、2 つ目と 4 つ目の 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 個のメディア機能

Google は、メディアクエリを使用して、ユーザーの好みやデバイスの状態に適応するユーザー エクスペリエンスを提供しています。この Chrome バージョンには、ユーザー エクスペリエンスの調整に使用できる新しい値 prefers-reduced-transparency が追加されています。

メディアクエリでテストできる新しい値は prefers-reduced-transparency です。これにより、デベロッパーは OS の透明性を下げるためにユーザーが選択した設定(macOS の [透明度を下げる] の設定など)にウェブ コンテンツを適応させることができます。有効なオプションは reduce または no-preference です。

.translucent {
  opacity: 0.4;
}

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

また、DevTools を使用してどのように表示されるかを確認できます。

詳しくは、prefers-reduced-transparency のドキュメントをご覧ください。

修正: この記事の以前のバージョンでは、このリリースに含まれる新しい scripting メディア機能について言及していました。実際にはバージョン 120 になります。

DevTools の [Sources] パネルの改善

DevTools の [ソース] パネルが次のように改善されました。ワークスペース機能では、特に [ソース] >[Filesystem] ペインから [Workspace] に移動し、他の UI テキストとともに [Sources] >ワークスペースでは、DevTools で行った変更をソースファイルに直接同期することもできます。

また、[Sources] パネルの左側のペインをドラッグ&ドロップして並べ替えることができるようになりました。[Sources] パネルでは、moduleimportmapspeculationrules のスクリプト タイプ内のインライン JavaScript をプリティ プリントして、importmapspeculationrules のスクリプト タイプの構文をハイライト表示できるようになりました(どちらも JSON を保持します)。

投機ルールのスクリプト タイプのプリティ プリントと構文のハイライト表示の前後。

Chrome 118 DevTools のアップデートについて詳しくは、DevTools の新機能をご覧ください。

その他

もちろん、他にもたくさんあります。

  • WebUSB APIブラウザ拡張機能で登録された Service Worker に公開され、デベロッパーは拡張機能イベントに応答する際に API を使用できるようになりました。

  • デベロッパーが支払いリクエスト フローをスムーズに処理できるように、Payment RequestSecure Payment Confirmation でユーザー アクティベーションの要件を廃止します。

  • Chrome のリリース サイクルが短縮。Stable 版は 3 週間ごとにリリースされます。Chrome 119 からは、3 週間後にリリースされる予定です。

関連情報

ここでは、重要なハイライトのみを取り上げます。以下のリンクを参照してください: その他の変更が行われます。

登録

最新情報を入手するには、 Chrome Developers YouTube チャンネル 新しい動画が公開されるたびに メールでも通知されます

Adriana Jara です。Chrome 119 がリリースされたらすぐに、 Chrome の新機能を紹介します