Maison > interface Web > tutoriel CSS > Comment puis-je définir dynamiquement des variables de couleur Sass en fonction des classes d'éléments HTML ?

Comment puis-je définir dynamiquement des variables de couleur Sass en fonction des classes d'éléments HTML ?

Mary-Kate Olsen
Libérer: 2024-10-28 05:31:02
original
266 Les gens l'ont consulté

How can I dynamically set Sass color variables based on HTML element classes?

Configuration de variables Sass dynamiques basées sur les classes d'éléments HTML

Question : Puis-je définir dynamiquement des variables de couleur Sass en fonction des classes appliquées à un élément HTML ?

Réponse : Oui, vous pouvez y parvenir grâce à l'utilisation d'includes ou de mixins Sass.

Utilisation d'includes

Dans un fichier séparé (_theme .scss), définissez les styles à l'aide de vos variables Sass :

<code class="scss">section.accent {
    background: $accent;
}

.foo {
    border: $base;
}

.bar {
    color: $flat;
}</code>
Copier après la connexion

Dans votre fichier Sass principal (main.scss), importez l'include en fonction de la classe sur l'élément HTML :

<code class="scss">html {
  &amp;.sunrise {
    $accent: #37CCBD;
    $base: #3E4653;
    $flat: #eceef1;

    @import "theme";
  }

  &amp;.moonlight {
    $accent: #18c;
    $base: #2a2a2a;
    $flat: #f0f0f0;

    @import "theme";
 }
}</code>
Copier après la connexion

Utilisation de Mixins

Vous pouvez également créer un mixin qui prend les couleurs comme arguments :

<code class="scss">@mixin theme($accent, $base, $flat) {
    // Define styles using the passed variables
}</code>
Copier après la connexion

Dans votre fichier Sass principal, invoquez le mixin avec les couleurs appropriées :

<code class="scss">html {
  &amp;.sunrise {
    $accent: #37CCBD;
    $base: #3E4653;
    $flat: #eceef1;

    @include theme($accent, $base, $flat);
  }

  &amp;.moonlight {
    $accent: #18c;
    $base: #2a2a2a;
    $flat: #f0f0f0;

    @include theme($accent, $base, $flat);
 }
}</code>
Copier après la connexion

Cette approche vous permet d'appliquer dynamiquement différents thèmes aux éléments HTML en fonction de leurs classes.

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