Ich versuche, die Funktion dark-light-choose($light, $dark) in meinem personalisierten CSS zu verwenden, aber sie gibt immer $light zurück, selbst wenn ich das Farbschema von hell (Clara) auf dunkel (Oscura) ändere:
dass die primäre Farbe in meinem dunklen Theme heller ist als die Sekundärfarbe.
dass ich die Funktionsargumente in der richtigen Reihenfolge verwende.
Ich habe keine Ahnung, wie ich das Problem debuggen soll. Könnte dies ein Problem in meinem Theme sein? Gibt es eine andere Variable, die ich berücksichtigen sollte?
Ich vermute, dass aufgrund der Art und Weise, wie SCSS kompiliert wird, benutzerdefinierte Dark/Light-Definitionen zu color_definitions.scss innerhalb eines Themes hinzugefügt werden müssen und in anderen SCSS-Dateien nicht funktionieren werden.
color_definitions.scss befindet sich hoch in der Kaskade (vor vielen der Standardstile), daher möchten Sie den Teil .modal.history-modal ins dort nicht hinzufügen. Stattdessen können Sie einfach die Farbdefinition selbst hinzufügen…
Vielen Dank, Kris! Du hast mir den Retter gespielt! Es funktioniert einwandfrei
Ich habe ein bisschen damit experimentiert, und das Einzige, was ich nicht verstehe, ist, warum bei Farbwerten eine Variableninterpolation erforderlich ist. Zum Beispiel funktioniert dies ohne Interpolation nicht:
$ins: #7f7e7e;
:root {
--custom-ins: $ins;
}
Aber dies funktioniert:
$ins: #7f7e7e;
:root {
--custom-ins: #{$ins};
}
Beide Versionen funktionieren, wenn $ins einer Variablen zugewiesen ist (zum Beispiel: $ins: $dark-theme-ins).
Dies ist eine SCSS-Anforderung bei der Verwendung von benutzerdefinierten CSS-Eigenschaften. Weitere Details finden Sie hier: Sass: Property Declarations