Die aktuelle colorcontrast
Funktion vergleicht nur mit drei Farben. Suche nach der besten Lösung, um mit mehreren Parametern wie @function colorcontrast($color, $rest...) {
für color: colorcontrast(yellow, blue, orange, tomato, deekskyblue);
zu bauen, aber nicht sicher, wie man mit allen aufgelisteten Farben vergleicht.Wie man Sass Farbvergleichsfunktion mit mehreren Parametern machen kann?
@function brightness($color) {
@return ((red($color) * .299) + (green($color) * .587) + (blue($color) * .114))/255 * 100%;
}
@function colorcontrast($color, $dark, $light) {
$color-brightness: brightness($color);
$light-text-brightness: brightness($light);
$dark-text-brightness: brightness($dark);
@return if(abs($color-brightness - $light-text-brightness) > abs($color-brightness - $dark-text-brightness), $light, $dark);
}
.my-div{
padding: 1rem;
background-color: yellow;
color: colorcontrast(yellow, #000, #fff);
}
Sie können variadic Argumente in Sass verwenden. Tun Sie einfach den Variablennamen und drei Punkte. Ex. '@function colorcontrast ($ color, $ args ...) {...}' – watzon
Yah, aber leider bin ich völlig stecken zu vergleichen Vergleich mit mehreren Farben – Muhammed