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

AI Sidekick – nowe inteligentne narzędzie SALESmanago mierzy i zwiększa wydajność w eCommerce
AI Sidekick – nowe inteligentne narzędzie SALESmanago mierzy i zwiększa wydajność w eCommerce

    AI Sidekick usprawnia marketing e-commerce, zapewniając inteligentną automatyzację, większe zaangażowanie klientów i dużą elastyczność   Kraków, 12 marca 2025 r.  SALESmanago – czołowa europejska platforma zarządzania zaangażowaniem klientów obsługująca ponad 3 tys. firm – poinformowała dziś o rozszerzeniu funkcji AI Sidekick – spersonalizowanej warstwy AI zaprojektowanej z myślą o większej wydajności w e-commerce, […]

SALESmanago napędza wzrost marki z tradycjami
SALESmanago napędza wzrost marki z tradycjami

    O kliencie: Jubiler Schubert – Tradycja i Nowoczesność   Jubiler Schubert to marka o bogatej historii sięgającej XIX-wiecznego Wiednia. Założona przez Sykstusa Schuberta pracownia złotnicza dała początek rodzinnej tradycji, kontynuowanej dziś przez Sebastiana Schuberta. Firma, specjalizująca się w wytwarzaniu i sprzedaży wysokiej jakości biżuterii, stała się jedną z największych sieci jubilerskich w Polsce. […]

Skuteczna personalizacja SALESmanago zwiększa przychody z e-commerce
Skuteczna personalizacja SALESmanago zwiększa przychody z e-commerce

    Nowe inteligentne narzędzie powstało z potrzeby większej personalizacji, dzięki której zespoły e-commerce mogłyby tworzyć indywidualne doświadczenia klientów Jak pokazują wyniki z okresu wyprzedaży Black Friday, stosowanie technik personalizacji przyniosło sprzedawcom 19% więcej interakcji   Kraków, 15 stycznia 2025 r.:  SALESmanago – czołowa europejska platforma zarządzania zaangażowaniem klientów obsługująca ponad 3 tys. klientów – […]

SALESmanago nawiązuje współpracę z PrestaShop, aby rozszerzyć swoją ofertę inteligentnych rozwiązań na sektor eCommerce w Europie
SALESmanago nawiązuje współpracę z PrestaShop, aby rozszerzyć swoją ofertę inteligentnych rozwiązań na sektor eCommerce w Europie

    Współpraca stanowi kolejny krok – po niedawnym przejęciu Leadoo – w rozwoju platformy zarządzania zaangażowaniem klientów w Europie.   Kraków, 18 grudnia 2024 r.: SALESmanago, lider segmentu SaaS obsługujący ponad 3 tys. klientów, nawiązał strategiczną współpracę z PrestaShop – jedną z najpopularniejszych platform eCommerce w Europie, która wspiera ponad 300 tys. firm w […]

Skuteczne zarządzanie w erze „growth hackingu”
Skuteczne zarządzanie w erze „growth hackingu”

    W dzisiejszym jakże zmiennym cyfrowym świecie rola dyrektora generalnego znacząco ewoluowała.   Obecnie fundamentem pomyślnego rozwoju firmy na poszczególnych etapach stała się koncepcja „growth hackingu”. Przy czym nie chodzi już tylko o przetrwanie, ale też o to, by wyprzedzić konkurencję w warunkach, które wymagają od nas zwinnego działania i innowacyjności.   Rzecz jasna, na początku nasz cel […]

SALESmanago przejmuje Leadoo: powstaje największa w Europie platforma do zarządzania zaangażowaniem klientów
SALESmanago przejmuje Leadoo: powstaje największa w Europie platforma do zarządzania zaangażowaniem klientów

    Połączenie zaawansowanych narzędzi konwersji Leadoo z kompleksową platformą Customer Engagement SALESmanago Rozszerzona obecność w kluczowych regionach Europy: kraje nordyckie, Wielka Brytania, Benelux oraz Europa Środkowa, Wschodnia i Południowa   Kraków/Helsinki, 26 listopada 2024 – Ważna fuzja w sektorze e-commerce. SALESmanago, wiodąca platforma Customer Engagement (CEP) z siedzibą w Krakowie, ogłasza przejęcie fińskiej platformy […]

Nie czekaj: Dlaczego IV kwartał to idealny moment na pomnożenie efektów działań marketingowych dzięki SALESmanago
Nie czekaj: Dlaczego IV kwartał to idealny moment na pomnożenie efektów działań marketingowych dzięki SALESmanago

    Wkraczając w burzliwy, jak co roku, czwarty kwartał, wiele firm znajduje się sytuacji paradoksalnej. To najbardziej owocny okres w roku, obiecujący najwyższy ruch i sprzedaż, a jednocześnie właśnie wtedy wiele firm unika wdrażania nowych technologii marketingowych. W SALESmanago rozumiemy przyczyny tej wstrzemięźliwości, ale jesteśmy tutaj, aby rzucić wyzwanie mentalności „poczekaj do czwartego kwartału”. […]

Strategie, które powinien znać prezes każdej firmy e-commerce w erze „Growth Hackingu”
Strategie, które powinien znać prezes każdej firmy e-commerce w erze „Growth Hackingu”

    Autor: Brian Plackis Cheng, dyrektor generalny SALESmanago   Rozwój firmy w dzisiejszym i jakże zmiennym cyfrowym świecie to nie lada wyzwanie. Rola dyrektora generalnego ewoluowała – dziś fundamentem pomyślnego rozwoju firmy na poszczególnych etapach stała się koncepcja „growth hackingu”. Nie chodzi już tylko o przetrwanie, ale też o to, by wyprzedzić konkurencję w […]

eCommerce na przemian rozkwita i popada w stagnację
eCommerce na przemian rozkwita i popada w stagnację

    eCommerce jest kapryśny; popada w stagnację, po czym nagle rozkwita. Ścieżki klientów są nieliniowe. To wiemy na pewno. Bez użytecznych danych klientów i spersonalizowanych ścieżek zakupowych firmy eCommerce tracą prospekty i klientów, doprowadzają swoją markę do stagnacji i trwonią swoją przewagę konkurencyjną.   Korzystanie z danych zero-party i zaawansowanej analityki nie jest już […]

SALESmanago prezentuje pakiet startowy modułowej platformy do zarządzania zaangażowaniem klientów. Cel: przeciwdziałanie fragmentacji rynku martech i wsparcie w skalowaniu biznesów e-commerce w Europie.
SALESmanago prezentuje pakiet startowy modułowej platformy do zarządzania zaangażowaniem klientów. Cel: przeciwdziałanie fragmentacji rynku martech i wsparcie w skalowaniu biznesów e-commerce w Europie.

    Nowy pakiet startowy, skierowany przede wszystkim do średniej wielkości firm, oferuje spersonalizowane ścieżki zakupowe, zapewniając średnio 20-krotny zwrot z inwestycji w ciągu 30 dni. Firma wprowadza nowatorskie rozwiązania, w tym automatyzację zadań w wielu kanałach oraz model wzrostu dostosowany do różnych etapów rozwoju firm e-commerce. Z uwagi na wzrost liczby narzędzi martech o […]