2017-07-21 2 views
0

Wie wird eine Farbe als Eingabe verwendet, so dass sie dunkler wird, wenn sie hell ist, oder heller, wenn sie dunkel ist?Wie wird eine Farbe dunkler, wenn hell, oder heller, wenn sie in LESS dunkel ist?

Zum Beispiel:

  • , wenn die Farbe dunkel ist, ist das Ergebnis etwas ist wie darken(@color-input, 10%)
  • , wenn die Farbe Licht ist, ist das Ergebnis etwas wie lighten(@color-input, 10%)

Gibt es einen bedingten Test, der angewendet werden kann, oder color operation, die dieses Ergebnis liefern würde?

+0

Fragen Sie, wie Sie überprüfen können, ob die Farbeingabe hell oder dunkel ist? – myfunkyside

+0

@ sieben-Phasen-Max Ich denke [diese Antwort] (https://Stackoverflow.com/a/26434928/1010492) könnte hier in der Tat verwendet werden –

+1

@GyumFox Nicht sicher, warum Sie Mixin Variante wählen, da es 3 mal länger ist als ' Kontrast "das gleiche tun. –

Antwort

0

ich die Frage denke, richtig als Duplikat identifiziert wurde, sondern um sie zu beantworten richtig, hier ist die richtige Antwort (basierend auf seven-phases-max's answer):

contrast(@color-input, lighten(@color-input, 10%), darken(@color-input, 10%)); 

Sie ein working example hier sehen kann.

Sie können hier mehr über die contrast function lesen.

1

Ich bin nicht sicher, ob dies die beste Antwort ist, aber der folgende Code scheint den Trick zu tun:

mix(@color-input, contrast(@color-input), 90%); 
+0

Plus 1 für die saubere Verwendung von 'Mix'. Auf diese Weise ist das Ergebnis nicht unbedingt gleich "verdunkeln". –

Verwandte Themen