Nouveautés de Chrome 130

Voici les informations à retenir :

Je m'appelle Pete LePage. Voyons ce que Chrome 130 a de nouveau à offrir aux développeurs.

Picture-in-picture pour les documents

L'API Picture-in-picture est idéale lorsque vous souhaitez ouvrir une vidéo dans un onglet de navigateur afin de pouvoir la surveiller tout en interagissant avec d'autres sites ou applications. Mais il ne permet que de regarder des vidéos.

Fenêtre Picture-in-picture de Spotify

L'API Picture-in-picture pour les documents élimine cette restriction, ce qui vous permet de créer une fenêtre Picture-in-picture dans laquelle vous contrôlez le contenu. Il est idéal pour les lecteurs vidéo personnalisés, la visioconférence et les applications de productivité, par exemple. J'adore ce que Spotify a fait avec cette fonctionnalité dans son lecteur Web. Une fenêtre s'affiche avec l'illustration du titre en cours de lecture, les commandes de lecture et la possibilité d'ajouter facilement le titre à mes favoris.

Pour l'utiliser, demandez une nouvelle fenêtre de document en mode PIP. L'promise renvoyé est résolu avec un objet JavaScript de fenêtre Picture-in-Picture. Utilisez ensuite cette méthode pour ajouter votre contenu à la fenêtre.

async function openDPiP() {
  const player = document.querySelector("#player");
  const pipWindow = await documentPictureInPicture
.requestWindow();
  pipWindow.document.body.append(player);
}

pipButton.addEventListener('click', openDPiP);

Avec la nouvelle propriété preferInitialWindowPlacement, vous pouvez demander à Chrome d'ouvrir toujours la fenêtre Picture-in-picture dans sa position et sa taille par défaut, au lieu de réutiliser la position ou la taille de la fenêtre précédente.

// Open a Picture-in-Picture window in its default position / size.
const pipWindow = await documentPictureInPicture.requestWindow({
  preferInitialWindowPlacement: true,
});

Pour en savoir plus, consultez le post de François sur la Vue en mode Picture-in-Picture pour n'importe quel élément.

Déclarations imbriquées CSS

L'imbrication CSS permet d'obtenir des sélecteurs plus courts, une lecture plus facile et une modularité accrue en imbriquant des règles dans d'autres. L'imbrication CSS est une nouvelle fonctionnalité de référence disponible depuis près d'un an.

Certains cas particuliers n'ont pas fonctionné comme prévu. Par exemple, avec le bloc CSS suivant, vous vous attendriez à ce que la couleur d'arrière-plan soit verte, car elle vient en dernier, mais elle est rouge.

.foo {
    width: fit-content;

    @media screen {
        background-color: red;
    }

    background-color: green;
}

Pour résoudre les cas particuliers comme celui-ci, le groupe de travail CSS a introduit la règle des déclarations imbriquées, qui est implémentée dans Chrome 130. Ce même bloc CSS génère désormais un arrière-plan vert, comme prévu. Si vous intercaliez des déclarations brutes avec des règles imbriquées, vous devez vérifier votre code.

Pour une explication plus détaillée, consultez l'article de Bramus Amélioration de l'imbrication CSS avec CSSNestedDeclarations.

box-decoration-break

La propriété CSS box-decoration-break vous permet de spécifier comment les fragments d'un élément doivent être affichés lorsqu'ils sont répartis sur plusieurs lignes, colonnes ou pages.

Aucun saut de ligne

Par exemple, cet élément est très bien mis en forme lorsque tout est sur une seule ligne.

Sauts de ligne avec des segments

Lorsque le contenu est divisé sur plusieurs lignes, les décorations telles que l'arrière-plan, l'ombre portée, la bordure, etc. sont découpées, ce qui crée un aspect plutôt radical.

Sauts de ligne avec clone

En ajoutant box-decoration-break: clone, chaque fragment est affiché indépendamment, ce qui crée un rendu beaucoup plus agréable.

Bien qu'il ne soit pas tout à fait de référence, il est disponible dans Chrome et Firefox, et est associé à un préfixe de fournisseur dans Safari.

.bdb-clone {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

Pour en savoir plus, consultez la documentation sur box-decoration-break sur MDN et l'article de Rachel intitulé Propriété box-decoration-break dans Chrome 130.

Et bien plus !

Bien sûr, il y a bien d'autres choses.

Documentation complémentaire

Il ne s'agit que de quelques points clés. Consultez les liens suivants pour en savoir plus sur les modifications apportées à Chrome 130.

S'abonner

Pour vous tenir informé, abonnez-vous à la chaîne YouTube des développeurs Chrome. Vous recevrez alors une notification par e-mail chaque fois que nous lancerons une nouvelle vidéo.

Je m'appelle Pete LePage. Dès que Chrome 131 sera disponible, nous vous présenterons les nouveautés de Chrome.