必知事項は次のとおりです。
- ドキュメントのピクチャー イン ピクチャーでは、ピクチャー イン ピクチャー ウィンドウをより細かく制御できます。
- CSS ネスト宣言により、厄介なエッジケースを修正できます。
- 複数行に分割される要素の装飾の動作を指定できます。
- 他にも多くの機能を利用できます。
Pete LePage と申します。Chrome 130 のデベロッパー向けの新機能について詳しく見てみましょう。
ドキュメントのピクチャー イン ピクチャー
ピクチャー イン ピクチャー API は、ブラウザタブから動画をポップアウトして、他のサイトやアプリを操作しながら動画を監視する場合に便利です。ただし、動画のみです。
ドキュメントのピクチャー イン ピクチャー API を使用すると、この制限が解除され、コンテンツを制御できるピクチャー イン ピクチャー ウィンドウを作成できます。カスタム動画プレーヤー、ビデオ会議、生産性向上アプリなどに適しています。Spotify のウェブ プレーヤーでこの機能が利用できるようになったのは素晴らしいと思います。 現在の曲のアートワークと再生コントロールが表示されたウィンドウが表示され、曲をお気に入りに簡単に追加できます。
使用するには、新しいドキュメントのピクチャー イン ピクチャー ウィンドウをリクエストします。返された promise
は、ピクチャー イン ピクチャー ウィンドウの JavaScript オブジェクトで解決されます。次に、これを使用してコンテンツをウィンドウに追加します。
async function openDPiP() {
const player = document.querySelector("#player");
const pipWindow = await documentPictureInPicture
.requestWindow();
pipWindow.document.body.append(player);
}
pipButton.addEventListener('click', openDPiP);
新しい preferInitialWindowPlacement
プロパティを使用すると、以前のウィンドウの位置やサイズを再利用するのではなく、ピクチャー イン ピクチャー ウィンドウを常にデフォルトの位置とサイズで開くように Chrome に指示できます。
// Open a Picture-in-Picture window in its default position / size.
const pipWindow = await documentPictureInPicture.requestWindow({
preferInitialWindowPlacement: true,
});
詳しくは、François の投稿「あらゆる要素のピクチャー イン ピクチャー」をご覧ください。
CSS のネストされた宣言
CSS のネストを使用すると、ルールをネストすることで、セレクタを短くして読みやすくし、モジュール性を高めることができます。CSS ネスティングはベースラインで新しく利用可能で、ほぼ 1 年間利用可能になっています。
想定どおりに動作しないエッジケースがいくつかありました。たとえば、次の CSS ブロックでは、背景色が最後に来るため緑色になるはずですが、赤色になっています。
.foo {
width: fit-content;
@media screen {
background-color: red;
}
background-color: green;
}
このようなエッジケースを修正するため、CSS ワーキング グループはネストされた宣言ルールを導入しました。このルールは Chrome 130 で実装されています。同じ CSS ブロックで、想定どおり緑色の背景が生成されます。ネストされたルールと裸宣言を交互に使用していた場合は、コードを再確認する必要があります。
詳しくは、Bramus の記事「CSSNestedDeclarations
で CSS のネスト機能が改善」をご覧ください。
box-decoration-break
box-decoration-break
CSS プロパティを使用すると、複数の行、列、ページにまたがって分割された要素のフラグメントをレンダリングする方法を指定できます。
たとえば、この要素はすべて 1 行に収めると見栄えがよく、
コンテンツが複数行に分割されると、背景、ボックスシャドウ、ボーダーなどの装飾がスライスされ、かなり大胆な外観になります。
box-decoration-break: clone
を追加すると、各フラグメントが個別にレンダリングされ、見栄えが大幅に改善されます。
ベースラインではありませんが、Chrome と Firefox で使用でき、Safari ではベンダー接頭辞が付いています。
.bdb-clone {
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
詳しくは、MDN に関する box-decoration-break
ドキュメントと Rachel の投稿 Chrome 130 の case-decoration-break プロパティをご覧ください。
その他
もちろん、他にもたくさんあります。
- 何度か試行錯誤した後、キーボードでフォーカス可能なスクロール コンテナがようやくリリースされました。
- WebGPU がデュアルソース ブレンディングを取得。
- ウェブ シリアルには接続済み属性が付与されます。
関連情報
主なハイライトのみを記載しています。Chrome 130 のその他の変更については、以下のリンクをご覧ください。
- Chrome 130 のリリースノート
- Chrome DevTools の新機能(130)
- ChromeStatus.com の更新内容(Chrome 130)
- Chromium ソース リポジトリの変更リスト
- Chrome のリリース カレンダー
登録
最新情報を入手するには、Chrome Developers YouTube チャンネルにチャンネル登録してください。新しい動画が公開されるたびに、メール通知が届きます。
担当の Pete LePage です。Chrome 131 がリリースされ次第、Chrome の新機能についてお知らせします。