Zaawansowane techniki w CSS
CSS wciąż się rozwija, wprowadzając nowe możliwości, które pozwalają tworzyć bardziej elastyczne, wydajne i efektowne style bez konieczności używania JavaScript czy dodatkowych grafik. Do najważniejszych należą zmienne CSS, kalkulacje, filtry, tryby mieszania oraz najnowsze container queries.
1. CSS Variables (custom properties) i kalkulacje (calc())
CSS Variables – czym są?
- Zmienne CSS (tzw. custom properties) to wartości przechowywane w specjalnych identyfikatorach.
- Definiuje się je za pomocą
--nazwai używa z pomocą funkcjivar(). - Można je definiować lokalnie (dla danego elementu) lub globalnie (najczęściej w
:root).
Przykład:
Zmienne sprawiają, że łatwo zmienia się kolory, odstępy czy inne wartości w całym projekcie.
Funkcja calc()
Pozwala wykonywać obliczenia matematyczne w CSS. Można łączyć różne jednostki (px, %, em, vh, itp.).
Przykład:
Dzięki calc() można dynamicznie obliczać wartości, bez potrzeby skomplikowanych media queries czy JS.
2. Filtry (filter) i efekty graficzne
Właściwość filter pozwala nakładać na elementy efekty graficzne, podobne do tych w programach graficznych.
Może być stosowana do obrazów, tekstu, a nawet całych bloków HTML.
Najpopularniejsze filtry:
blur(px)– rozmyciebrightness(%)– jasnośćcontrast(%)– kontrastgrayscale(%)– skala szarościsepia(%)– sepiowy efekthue-rotate(deg)– zmiana barwyinvert(%)– odwrócenie kolorówopacity(%)– przezroczystośćdrop-shadow(x y blur color)– cień jak w Photoshopie
Przykład:
Filtry są wydajne, wspierane przez większość przeglądarek i często zastępują dodatkową obróbkę grafiki.
3. Tryby mieszania (mix-blend-mode)
mix-blend-mode określa, jak element ma się mieszać z tłem (podobnie jak tryby mieszania warstw w Photoshopie).
Najpopularniejsze tryby:
multiply– ciemniejsze kolory (iloczyn)screen– jaśniejsze kolory (ekran)overlay– połączenie multiply i screendarken– ciemniejszy z dwóch kolorówlighten– jaśniejszy z dwóch kolorówdifference– różnica między koloramiexclusion,hue,color,luminosity– bardziej artystyczne efekty
Przykład:
Efekt często wykorzystywany w grafikach, nagłówkach i banerach, by tekst lub obraz wtopił się w tło.
4. Container Queries (nowość w CSS)
Do niedawna media queries działały tylko w oparciu o rozmiar całego okna przeglądarki. Container queries (zapytania kontenerowe) pozwalają stosować różne style w zależności od rozmiaru konkretnego kontenera, a nie całego viewportu.
Dlaczego to ważne?
- Umożliwia tworzenie bardziej modułowych i niezależnych komponentów.
- Elementy dostosowują się do miejsca, w którym zostały osadzone.
Składnia container queries:
- Najpierw oznaczamy kontener:
- Następnie definiujemy zapytanie dla tego kontenera:
W tym przykładzie układ kart zmienia się, gdy kontener osiągnie szerokość 400px, niezależnie od szerokości całego okna.
Praktyczny przykład:
Dzięki temu ta sama karta zachowuje się inaczej w wąskiej i szerokiej kolumnie, bez dodatkowych media queries.