J’ai un composant de thème qui change le logo du site en fonction de la catégorie dans laquelle se trouve l’utilisateur et ajoute des logos aux catégories dans la barre latérale, et maintenant ils veulent changer pour un logo différent en mode sombre.
Je suis nul en CSS, mais il semblerait que ce serait beaucoup plus facile s’il y avait une classe “ce-ci-est-le-mode-sombre”. Ou peut-être que quelque chose comme ce qui précède peut fonctionner.
Ou peut-être que si c’était un “vrai” composant de thème avec des paramètres (pour l’instant, il est juste codé à la main comme ci-dessus), alors il serait assez facile d’y intégrer ces paramètres dans le CSS. C’est probablement ce que je devrais faire de toute façon, n’est-ce pas ?
C’est logique. J’ai eu le même problème une fois mais @david, cela aurait fonctionné pour moi.
Aussi, les difficultés d’attribution de badges seraient-elles considérées comme un bug ou autre chose ?
Cela pourrait être un bug, mais nous aurions besoin de plus de détails pour le savoir — c’est aussi sans rapport avec ce sujet, donc votre meilleure option serait de rechercher le problème, et si vous ne trouvez pas de réponse, de créer un nouveau sujet expliquant ce que vous essayez de faire et où cela échoue.
Une solution purement CSS utiliserait probablement la variable CSS --scheme-type, ou même la propriété color-scheme qui a été ajoutée il y a quelques heures (youpi !), avec des requêtes de style @container ou light-dark().
Malheureusement, light-dark() ne fonctionne qu’avec des valeurs de couleur. Vous pourriez essayer d’utiliser des requêtes de style @container ciblant la propriété color-scheme (firefox ne prend pas encore en charge les requêtes de style pour les propriétés personnalisées). Je n’ai pas pu tester l’idée car mon environnement de développement est actuellement hors service.
Avoir une classe .dark-mode ou .light-mode dédiée à la racine serait certainement le plus simple à utiliser.