Voici les informations à retenir :
- Déclarez des styles spécifiques dans un composant à l'aide de la règle CSS
@scope
. - Une nouvelle fonctionnalité multimédia est disponible:
prefers-reduced-transparency
. Les outils de développement ont amélioré le panneau Sources.
Et ce n'est pas tout : d'autres fonctionnalités sont disponibles.
Je m'appelle Adriana Jara. Voyons ce que Chrome 118 propose aux développeurs.
Règle CSS @scope
.
La règle at-@scope
permet aux développeurs de définir le champ d'application des règles de style sur une racine de champ d'application donnée et de styliser les éléments en fonction de la proximité de cette racine de champ d'application.
Avec @scope
, vous pouvez remplacer les styles en fonction de la proximité, ce qui est différent des styles CSS habituels qui sont appliqués en fonction de l'ordre et de la spécificité de la source uniquement. Dans l'exemple suivant, il existe deux thèmes.
<div class="lightpink-theme">
<a href="#">I'm lightpink!</a>
<div class="pink-theme">
<a href="#">Different pink!</a>
</div>
</div>
sans portée, le style appliqué est le dernier déclaré.
.pink-theme a { color: hotpink; } .lightpink-theme a { color: lightpink; }
Avec la portée, vous pouvez avoir des éléments imbriqués et le style qui s'applique est celui de l'ancêtre le plus proche.
@scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
Le champ d'application vous évite également d'écrire des noms de classe longs et complexes, et vous permet de gérer facilement des projets plus importants et d'éviter les conflits de noms.
<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; }
<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; } }
La portée vous permet également de styliser un composant sans appliquer de style à certains éléments imbriqués. D'une certaine manière, il peut y avoir des "trous" où le style cloisonné ne s'applique pas.
Comme dans l'exemple suivant, nous pouvons appliquer un style au texte et exclure les commandes, ou inversement.
<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;
}
}
Pour en savoir plus, consultez l'article Limiter la portée de vos sélecteurs avec la règle @scope CSS.
Fonctionnalité multimédia prefers-reduced-transparency
Nous utilisons des requêtes multimédias pour offrir des expériences utilisateur qui s'adaptent aux préférences et aux conditions de l'appareil de l'utilisateur. Cette version de Chrome ajoute une nouvelle valeur permettant d'adapter l'expérience utilisateur: prefers-reduced-transparency
.
Vous pouvez tester une nouvelle valeur avec les requêtes multimédias : prefers-reduced-transparency
. Elle permet aux développeurs d'adapter le contenu Web aux préférences de l'utilisateur en termes de transparence réduite dans l'OS, comme le paramètre "Réduire la transparence" sur macOS. Les options valides sont reduce
ou no-preference
.
.translucent {
opacity: 0.4;
}
@media (prefers-reduced-transparency) {
.translucent {
opacity: 0.8;
}
}
Vous pouvez également vérifier l'apparence de la page avec DevTools:
Pour en savoir plus, consultez la documentation sur prefers-reduced-transparency.
Correction: Une version précédente de cet article faisait référence à une nouvelle fonctionnalité multimédia scripting
disponible dans cette version. Il s'agira de la version 120.
Améliorations apportées au panneau "Sources" dans les Outils de développement
Les Outils de développement ont apporté les améliorations suivantes au panneau Sources: la fonctionnalité Workspace (Espace de travail) a amélioré la cohérence, en particulier en renommant le volet Sources > Filesystem (Sources > Système de fichiers) en Workspace (Espace de travail) et en modifiant d'autres textes de l'interface utilisateur ; l'option Sources > Workspace (Sources > Espace de travail) vous permet également de synchroniser les modifications que vous apportez dans les Outils de développement directement avec vos fichiers sources.
De plus, vous pouvez désormais réorganiser les volets sur la gauche du panneau Sources par glisser-déposer. Le panneau Sources peut désormais imprimer correctement le code JavaScript intégré dans les types de scripts suivants: module
, importmap
et speculationrules
, et mettre en surbrillance la syntaxe des types de scripts importmap
et speculationrules
, qui contiennent tous deux des scripts JSON.
Pour en savoir plus sur les mises à jour des outils pour les développeurs de Chrome 118, consultez Nouveautés concernant les outils pour les développeurs.
Et bien plus !
Bien sûr, il y a bien d'autres choses.
L'API WebUSB est désormais exposée aux service workers enregistrés par les extensions du navigateur, ce qui permet aux développeurs d'utiliser l'API lorsqu'ils répondent aux événements d'extension.
Pour aider les développeurs à réduire les frictions dans les flux de demande de paiement, nous supprimons l'exigence d'activation de l'utilisateur dans
Payment Request
etSecure Payment Confirmation
.Le cycle de publication de Chrome devient plus court. Les versions stables seront publiées toutes les trois semaines, à partir de Chrome 119, qui sera disponible dans trois semaines.
Documentation complémentaire
Il ne s'agit que de quelques points clés. Consultez les liens ci-dessous pour en savoir plus sur les modifications supplémentaires dans Chrome 118.
- Nouveautés des outils pour les développeurs Chrome (118)
- Abandons et suppressions dans Chrome 118
- Mises à jour de ChromeStatus.com pour Chrome 118
- Liste des modifications du dépôt source Chromium
- Calendrier des versions de Chrome
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 Adriana Jara. Dès que Chrome 119 sera disponible, je serai là pour vous présenter les nouveautés de Chrome.