Maison > interface Web > tutoriel CSS > Comment puis-je détecter le mode sombre en JavaScript ?

Comment puis-je détecter le mode sombre en JavaScript ?

Barbara Streisand
Libérer: 2024-11-11 06:57:03
original
277 Les gens l'ont consulté

How Can I Detect Dark Mode in JavaScript?

Détection du mode sombre dans JavaScript

Avec l'introduction du mode sombre dans Windows et macOS, les développeurs sont confrontés au défi d'adapter les styles CSS et JavaScript pour correspondre à la palette de couleurs préférée de l'utilisateur. Cette question explore comment détecter le mode sombre en JavaScript, permettant des ajustements de couleurs réactifs.

Approche de requête multimédia

Pour CSS, les requêtes multimédias fournissent une solution simple :

@media (prefers-dark-interface) {
  color: white; background: black 
}
Copier après la connexion

Détection JavaScript

L'API Stripe Elements, utilisée pour créer des éléments de paiement, nécessite une spécification de couleur en JavaScript. Pour détecter le mode sombre dans ce contexte, il faut exploiter l'API JavaScript :

if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
    // dark mode
}
Copier après la connexion

Cette requête vérifie si l'API window.matchMedia est prise en charge et évalue la chaîne de requête multimédia. Si cela est vrai, le système préfère le mode sombre.

Surveillance des changements de palette de couleurs

Pour gérer les changements dynamiques dans la palette de couleurs, on peut s'abonner à l'événement de changement :

window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
    const newColorScheme = event.matches ? "dark" : "light";
});
Copier après la connexion

Cela permet des ajustements en temps réel en réponse aux préférences de l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal