DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Web Dev Zone»Créer des thèmes clairs et sombres pour les sites Web de la bonne manière en utilisant prefers-color-scheme
    Web Dev Zone

    Créer des thèmes clairs et sombres pour les sites Web de la bonne manière en utilisant prefers-color-scheme

    novembre 4, 2021
    Créer des thèmes clairs et sombres pour les sites Web de la bonne manière en utilisant prefers-color-scheme
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Vous êtes probablement déjà familiarisé avec les requêtes médiatiques. Ils sont largement utilisés pour rendre les sites Web réactifs. Les width et height Les propriétés contiennent les dimensions de la fenêtre. Nous utilisons ensuite CSS pour rendre différentes mises en page à différentes dimensions.

    Les prefers-color-scheme media query fonctionne de la même manière. L’utilisateur peut configurer son système d’exploitation pour utiliser un thème clair ou sombre. prefers-color-scheme contient cette valeur. La valeur est soit light ou dark, bien que la spécification du W3C indique qu’elle pourrait prendre en charge des valeurs futures telles que sepia. Nous spécifions différentes valeurs de variables CSS pour les deux modes et laissons le système d’exploitation de l’utilisateur décider.

    Les requêtes multimédias prefers-color-scheme

    Les deux variantes du prefers-color-scheme les requêtes média sont :

    /* Light mode */
    @media (prefers-color-scheme: light) {
       :root {
           --body-bg: #FFFFFF;
           --body-color: #000000;
       }
    }
    
    /* Dark mode */
    @media (prefers-color-scheme: dark) {
       :root {
           --body-bg: #000000;
           --body-color: #FFFFFF;
       }

    Dans le CSS ci-dessus, --body-bg et --body-color sont des variables CSS. Comme vous pouvez le voir, ils contiennent des valeurs différentes pour les deux modes. Dans le thème clair, nous définissons un fond blanc avec du texte noir. Dans le thème sombre, nous définissons un fond noir avec du texte blanc.

    Étant donné que la spécification dit que le W3C pourrait introduire des valeurs futures, il est logique de convertir notre CSS en un booléen.

    /* Light mode */
    :root {
       --body-bg: #FFFFFF;
       --body-color: #000000;
    }
    
    /* Dark mode */
    @media (prefers-color-scheme: dark) {
       :root {
           --body-bg: #000000;
           --body-color: #FFFFFF;
       }
    }

    Dans le code ci-dessus, nous définissons un thème clair par défaut et le convertissons en thème sombre si la requête média est dark. De cette façon, toutes les valeurs futures ajoutées à la requête multimédia définiront le thème clair par défaut.

    Utilisation des variables CSS

    Maintenant que nous avons différentes valeurs pour différents thèmes, nous devons réellement les utiliser pour styliser notre page.

    body {
       background: var(--body-bg);
       color: var(--body-color);
    }

    Les var() la syntaxe est la façon dont CSS utilise les variables. Dans le code ci-dessus, nous disons que background doit être fixé à la valeur de --body-bg. Et color doit être fixé à la valeur de --body-color. Notez que les valeurs de ces variables proviennent de notre requête média, ce qui signifie que notre couleur d’arrière-plan et de premier plan change en fonction des paramètres du système d’exploitation ! C’est le vrai pouvoir de la requête média : fournir une expérience utilisateur cohérente du système d’exploitation à la page Web.

    Si vous allez sur findmymastodon.com et changez le thème de votre système d’exploitation, vous verrez la transition d’un thème à l’autre. La vidéo ci-dessous montre la transition en douceur du mode clair au mode sombre sur Mac OS X.


    Votre navigateur ne supporte pas cette vidéo.

    Le site Web CSS WG utilise également les mêmes requêtes média. Modifiez le thème de votre système d’exploitation et le site Web changera de thème à ajuster.

    Conclusion

    Notez qu’en utilisant prefers-color-scheme n’est pas différent de l’utilisation d’un langage de programmation normal. Nous définissons des variables dont les valeurs changent en fonction d’une certaine logique. Ces variables sont ensuite utilisées pour d’autres opérations.

    La possibilité de laisser votre site Web s’adapter au thème de choix de l’utilisateur est une excellente fonctionnalité d’accessibilité. Il brouille également davantage la frontière entre le bureau et le Web au profit de l’utilisateur. Prise en charge des dernières versions de navigateur prefers-color-scheme, vous pouvez donc commencer à expérimenter dès aujourd’hui.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.