Praca z kolorami w preprocesorze Sass

 

Nieodłącznym elementem stron WWW, czy aplikacji internetowych jest zdefiniowanie schematu kolorystycznego. Przy bardziej rozbudowanych projektach kodowanie licznych zmian w kolorach może okazać się dla developera czasochłonne.
Na szczęście istnieją narzędzia, które mogą w znaczący sposób ułatwić i przyspieszyć pracę.

 

Preprocesor Sass

Sass to preprocesor CSS, który pozwala na znacznie szybszą i wydajniejszą pracę z arkuszami stylów. Dzięki takim elementom jak zmienne lub funkcje, programista może zautomatyzować pisanie kodu warstwy wizualnej strony WWW.

Poniżej zaprezentowane zostanie kilka bardzo przydatnych funkcji preprocesora Sass, dzięki którym operowanie na kolorach jest łatwe i przyjemne.

Na początek zdefiniujmy zmienną określającą nasz kolor bazowy, którego będziemy używać do zobrazowania działania każdego z omawianych zagadnień:

Modele przestrzeni barw

Aby w pełni zrozumieć i wykorzystać funkcje do pracy z kolorami należy wspomnieć, że część działa na określonych modelach przestrzeni barw. Są to modele: HSL, RGB, RGBA.

Model HSL

W tym modelu kolor jest definiowany za pomocą trzech współrzędnych.
H (ang. Hue) – barwa (zakres wartości zawiera się w przedziale od 0 do 360 stopni koła kolorów)
S (ang. Saturation) – nasycenie (wartość z przedziału od 0 do 100)
L (ang. Lightness) – jasność (wartość z przedziału od 0 do 100)

Funkcje działające w oparciu o HSL

Dwie najpopularniejsze funkcje to lighten i darken. Z ich użyciem możemy z powodzeniem tworzyć monochromatyczne palety kolorystyczne (czyli takie, które bazują na jednym kolorze).

Wykorzystanie tych dwóch funkcji w praktyce prezentuje się następująco:

lighten
funkcja ta przyjmuje wartość wyrażoną w procentach, która oznacza stopień rozjaśnienia koloru bazowego.

darken
Jak łatwo się domyślić – funkcja darken działa analogicznie do lighten, jednak w tym przypadku określamy stopień przyciemnienia koloru:

lighten($color, 10%)
darken($color, 10%)

Jak w praktyce mogą nam się przydać te funkcje?
Wyobraźmy sobie, że mamy jakiś element na stronie – na przykład button. Jeśli chcemy, aby po najechaniu na niego myszą odrobinę się rozjaśnił, musielibyśmy podać dokładną wartość koloru, lub próbować go w jakimś programie graficznym.
Dzięki funkcji lighten wystarczy że odniesiemy się do koloru bazowego oraz przekażemy, jak mocno chcemy rozjaśnić kolor buttonu. Et voila!

saturate
Jest to kolejna bardzo przydatna funkcja, dzięki której możemy z łatwością zwiększyć poziom nasycenia koloru, podając jedynie wartość procentową.

desaturate
Zmniejsza poziom nasycenia koloru.

saturate($color, 60%)
desaturate($color, 60%)

complement
Jest to funkcja przydatna, gdy chcemy otrzymać kolory dopełniające (umiejscowione na przeciwko siebie w kole barw).

complement($color)

grayscale
Zmienia kolor w odcień szarości (to samo uda nam się otrzymać przy użyciu funkcji desaturate($color, 100%)).

grayscale($color)

Model RGB(A)

W modelu RGB kolor określany jest za pomocą trzech składowych, definiowanych wartościami z zakresu od 0 do 255:
R (ang. Red) — kolor czerwony
G (ang. Green) — kolor zielony
B (ang. Blue) — kolor niebieski

Model RGBA obsługuje dodatkowo kanał alfa określający stopień przezroczystości
koloru (wyrażony w przedziale od 0 do 1).

Funkcje działające w oparciu o RGB(A)

Podstawową przydatną funkcją działającą w tym modelu przestrzeni barw jest funkcja rgb, która pozwala przekonwertować kolor na podstawie składowych RGB do HEX.

rgb($red, $green, $blue)
rgba($color, $alpha)

Dzięki tej funkcji możemy z łatwością dodać przezroczystość do zdefiniowanego koloru.*

rgba($color, 0.4)

*Nie jest to jedyna funkcja pozwalająca na operowanie przezroczystością. Warto przyjrzeć się również funkcjom transparentize i opacify.

Zaawansowane operacje na kolorach

Sass posiada wbudowaną funkcję adjust-color, która zwiększa lub zmniejsza jedną lub więcej właściwości koloru, które podajemy jako opcjonalne parametry. Aby funkcja działała poprawnie, należy pamiętać, aby do jej wywołania przekazać jedynie parametry operujące na tym samym modelu barw.

adjust-color($color, $red: -55, $blue: 75)

Inna ciekawa funkcja pozwalająca na zmianę jednej lub więcej właściwości koloru to funkcja change-color. Parametry które przyjmuje ta funkcja są opcjonalne -zastępują bieżące parametry dla podanego koloru. Tutaj również istotne jest, aby właściwości przez nas podane operowały na jednym modelu barw.

change-color($color, $red: 120, $blue: 5)

Do dzieła!

Dzięki licznym funkcjom dedykowanym modyfikacji kolorów możemy wygodnie tworzyć rozbudowane schematy kolorystyczne na stronie, a także przede wszystkim przyspieszyć cały proces kodowania.

Więcej funkcji operujących na kolorach możesz znaleźć na stronie:
http://sass-lang.com/documentation/Sass/Script/Functions.html

 

Kinga Nowak
Front-End Developer

SALESmanago o platforma Customer Engagement, zaprojektowana dla efektywnych i głodnych sukcesu zespołów marketingowych w eCommerce. Dla marketerów, którzy pragną być zaufanymi partnerami dla swoich CEO. Z naszego rozwiązania korzysta ponad 2000 biznesów online średniej wielkości w 50 krajach oraz liczne globalne marki takie jak Starbucks, Vodafone, Lacoste, New Balance czy Victoria's Secret.

SALESmanago zapewnia maksymalizację wzrostu przychodów oraz poprawy wskaźników KPI dla eCommerce wykorzystując trzy zasady: (1) Customer Intimacy, aby stworzyć autentyczne relacje z klientami w oparciu o dane Zero- i First-Party, (2) Precision Execution, aby zapewnić doskonałe omnichannelowe doświadczenie klienta dzięki hiper-personalizacji oraz (3) Growth Intelligence, która łączy wskazówki opracowane przez specjalistów oraz AI, umożliwiając pragmatyczne i szybkie podejmowanie decyzji w celu maksymalizacji efektu.

Czytaj więcej na: www.salesmanago.pl

30 trików i porad dotyczących korzystania z szablonów e-mail, które zostawią konkurencję w tyle.
30 trików i porad dotyczących korzystania z szablonów e-mail, które zostawią konkurencję w tyle.

    Jak prześcignąć konkurencję eCommerce za pomocą czegoś tak prostego jak szablony wiadomości e-mail? Chcemy czy nie, email marketing pozostaje potężnym narzędziem do angażowania klientów, zwiększania sprzedaży i ostatecznie – wyprzedzania konkurencji. Dzięki odpowiednim strategiom i dobrze opracowanym szablonom e-mailowym można skutecznie komunikować się z odbiorcami, budować trwałe relacje i zwiększać zyski.   Poniżej […]

Jak Pitbull West Coast Przełamał Konwencje z SALESmanago
Jak Pitbull West Coast Przełamał Konwencje z SALESmanago

  Pitbull West Coast stanęło przed wyzwaniem – jak wyróżnić się na zatłoczonym rynku i jeszcze bardziej zaangażować swoją społeczność? Odpowiedzią była współpraca z SALESmanago a zwrot z inwestycji (ROI) osiągnął 2947%   Pitbull West Coast to marka odzieżowa, zainspirowana kulturą uliczną i sportami walki. Budując swoją przewagę konkurencyjną i strategie zaangażowania społeczności, firma napotkała […]

Każdy procent ma znaczenie, czyli jak poprawić współczynnik konwersji w Twojej firmie
Każdy procent ma znaczenie, czyli jak poprawić współczynnik konwersji w Twojej firmie

    W coraz bardziej konkurencyjnym świecie eCommerce istnieją pewne nakazy i zakazy, jeśli chodzi o zachęcanie klientów do dokonywania zakupów w Twoim sklepie. Czynność ta nazywana jest konwersją i jest to najważniejszy wskaźnik, który musisz obserwować, planując budowanie swojej firmy i zwiększanie przychodów – w końcu sklep internetowy z milionami odwiedzających, który nie sprzedaje, […]

Kręcisz z AI? Pamiętaj, bezpieczeństwo zawsze na pierwszym miejscu!
Kręcisz z AI? Pamiętaj, bezpieczeństwo zawsze na pierwszym miejscu!

    W świecie, w którym technologia i handel coraz bardziej się przenikają, firmy eCommerce znalazły się na rozdrożu, szukając sposobu na romans z generatywną sztuczną inteligencją. Niedawno opublikowany raport Gartnera, zatytułowany „4 Ways Generative AI Will Impact CISOs and Their Teams”, dostarcza informacji na temat przyszłości cyberbezpieczeństwa w erze AI. Zatem, entuzjaści eCommerce, jeśli […]

Top 10 porażających statystyk dotyczących hipersegmentacji, które musisz znać
Top 10 porażających statystyk dotyczących hipersegmentacji, które musisz znać

    Segmentacja jest znana marketerom już od dłuższego czasu. Jednak w większości przypadków, przypomina raczej nieoszlifowany diament. Wraz z ciągłymi zmianami w technologii wykorzystywanej do zbierania danych, nowymi pokoleniami konsumentów, którzy wymagają wysoce spersonalizowanych treści oraz z ostatnimi zmianami w zachowaniach zakupowych, które spowodował COVID-19, aktualizacja sposobów segmentacji danych stała się kluczowa. Segmentowane kampanie […]

5 super zaawansowanych i turbo-skutecznych segmentacji dla eCommerce
5 super zaawansowanych i turbo-skutecznych segmentacji dla eCommerce

    Hipersegmentacja w eCommerce to trend, który ma szansę zdominować rynek na dłuższy czas. Segmentacja 1:1 pozwala tworzyć na masową skalę oferty dopasowane indywidualnie do każdego odbiorcy. Ma to wpływ na przychody w sklepie i CLV jego klientów. Jak konkretnie można zastosować hiperpersonalizację w różnych typach eCommerce? Oto 5 super zaawansowanych i turbo-skutecznych segmentacji. […]

Zerkamy w przyszłość: analityka predyktywna w SALESmanago
Zerkamy w przyszłość: analityka predyktywna w SALESmanago

    W stale ewoluującym świecie eCommerce, firmy nieustannie poszukują innowacyjnych sposobów na zwiększenie swojej przewagi konkurencyjnej. Trudno przecenić tu rolę analityki predyktywnej. Jej wieloaspektowość ma kluczowe znaczenie dla rozwoju i sukcesu branży.   Szklana kula dla marketingowców   Analityka predyktywna to gałąź analityki danych, która wykorzystuje dane historyczne, algorytmy statystyczne oraz technologię uczenia maszynowego […]

[NAGRANIE WEBINARU] „Przygotuj swój eCommerce na 2024 rok: Doświadczenia z 2023 roku, najważniejsze trendy i innowacje technologiczne dla sklepów internetowych”
[NAGRANIE WEBINARU] „Przygotuj swój eCommerce na 2024 rok: Doświadczenia z 2023 roku, najważniejsze trendy i innowacje technologiczne dla sklepów internetowych”

    Już teraz możesz obejrzeć nagranie naszego ostatniego webinaru, poprowadzonego przez Director Solutions Consulting w SALESmanago, Aleksandra Skałkę.    Kliknij i odkryj:   – Taktyki wdrożone przez najlepiej prosperujące firmy eCommerce w 2023 r. – Najważniejsze trendy w eCommerce na lata 2023/2024: Sztuczna inteligencja, prywatność danych, dane stron zerowych i inne. – Nowe technologie […]

[Nowa funkcjonalność] Kreaktor Importu Kontaktów: funkcjonalna baza kontaktów bez komplikacji
[Nowa funkcjonalność] Kreaktor Importu Kontaktów: funkcjonalna baza kontaktów bez komplikacji

Przedstawiamy Kreator Importu Kontaktów: płynny początek przygody z CDP. Importuj kontakty bez wysiłku dzięki innowacyjnemu mapowaniu i mechanizmom odpornym na błędy. Przekształć surowe dane w dostosowaną do twoich potrzeb, funkcjonalną bazę danych. Uzyskaj niezależność od IT i zoptymalizuj działania marketingowe. Szybko importuj, oznaczaj i poprawiaj dane, aby uzyskać ponadprzeciętne wyniki.