0Pricing
CSS Academy · Lekcja

Implementowanie obsługi wielu marek za pomocą zmiennych CSS

Przełączaj w czasie działania między motywami wielu marek, zamieniając wartości niestandardowych właściwości CSS.

Implementowanie obsługi wielu marek za pomocą zmiennych CSS to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CSS Academy zawiera 4 lekcji w sumie.

Przegląd architektury motywów

Motywy wielu marek mapują jeden zestaw tokenów aliasów komponentów na różne wartości tokenów globalnych dla poszczególnych marek. Komponenty odwołują się do tokenów aliasów, a pliki motywów marek mapują aliasy na wartości globalne specyficzne dla danej marki.

Warstwa tokenów bazowych

Zdefiniuj tokeny globalne w :root: wszystkie surowe wartości kolorów, odstępów i typografii. Jest to domyślna marka. Komponenty nigdy nie odwołują się bezpośrednio do tokenów globalnych — zawsze korzystają z aliasów.

  <span class="swatch swatch-primary"></span>
  <span class="swatch swatch-secondary"></span>

Warstwa tokenów aliasów

Tokeny aliasów odwołują się do tokenów globalnych za pomocą var(): --color-action: var(--color-brand-primary). Komponenty używają --color-action. Zmiana znaczenia --color-brand-primary zmienia cały system.

Klasy motywów marek

Motywy marek stosuje się za pomocą klasy na elemencie html lub kontenerze. Każda klasa motywu nadpisuje tokeny globalne w zakresie danej marki. Komponenty znajdujące się w kontenerze automatycznie dziedziczą wartości marki.

  <span class="swatch"></span>
  <span class="theme-brand-a swatch"></span>
  <span class="theme-brand-b swatch"></span>

Tryb ciemny jako motyw

Tryb ciemny jest wariantem motywu — klasą lub zapytaniem o media, które nadpisuje tokeny kolorów. Użyj prefers-color-scheme dla domyślnego ustawienia systemu operacyjnego oraz klasy .dark jako nadpisania wybranego przez użytkownika. Oba rozwiązania zmieniają te same tokeny aliasów.

  <div class="surface">Themed surface</div>

Dziedziczenie tokenów

Niestandardowe właściwości CSS podlegają kaskadowaniu i dziedziczeniu. Motyw zastosowany do elementu kontenera wpływa na wszystkich jego potomków. Zagnieżdżone motywy nadpisują motywy zewnętrzne na poziomie kontenera — jest to przydatne przy stosowaniu różnych motywów widżetu osadzonego na stronie.

Zapobieganie wyciekaniu tokenów

Upewnij się, że tokeny aliasów są zawsze zdefiniowane. Jeśli brakuje klasy motywu, alias powinien bezpiecznie powrócić do wartości domyślnej. Użyj składni wartości zapasowej CSS var(): var(--color-action, #3b82f6), aby zapobiec niewidocznemu tekstowi lub brakującym tłom.

Generowanie plików motywów

Style Dictionary może generować osobne pliki CSS motywów na podstawie tokenów w formacie JSON. Etap budowania generuje pliki theme-brand-a.css i theme-brand-b.css. Wczytaj odpowiedni plik w czasie działania aplikacji albo skompiluj go do osobnych bundli dla każdej marki.

Testowanie motywów

Napisz testy regresji wizualnej, które renderują każdy komponent w każdym motywie. Percy i Chromatic wykonują zrzuty ekranu dla każdego wariantu motywu. Automatyczne testy wizualne wykrywają regresje, gdy wartości tokenów globalnych nieoczekiwanie się zmieniają.

Przełączanie motywów w czasie działania

Przełączaj klasy motywów za pomocą JavaScriptu: document.documentElement.classList.replace("theme-a", "theme-b"). Zmienne CSS aktualizują się natychmiast bez ponownego renderowania komponentów — nie jest potrzebne ponowne renderowanie React ani ponowne obliczanie statycznych wartości stylów.

Aspekty wydajnościowe

Zmienne CSS są rozwiązywane podczas malowania — zmiana zmiennej głównej wywołuje ponowne malowanie wszystkich elementów, które jej używają. Ograniczaj zmiany zmiennych globalnych do interakcji użytkownika, takich jak przełączanie motywu, zamiast wykonywać je w pętlach animacji. Do animowanych efektów zmiany motywu używaj przejść poszczególnych właściwości.

Sprawdzenie wiedzy

W jaki sposób motywy oparte na niestandardowych właściwościach CSS umożliwiają przełączanie marek bez zmiany CSS komponentów?

Podsumowanie

Motywy wielu marek oddzielają surowe wartości tokenów globalnych od semantycznych tokenów aliasów. Klasy motywów nadpisują tokeny globalne w zakresie kontenera. Komponenty odwołujące się do aliasów automatycznie odzwierciedlają aktywny motyw marki, co umożliwia przełączanie w czasie działania bez zmian w kodzie komponentów.

Często zadawane pytania

Czy lekcja „Implementowanie obsługi wielu marek za pomocą zmiennych CSS” jest bezpłatna?

Tak — pełny tekst „Implementowanie obsługi wielu marek za pomocą zmiennych CSS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CSS Academy, przejdź na CoddyKit PRO. Kurs CSS Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Implementowanie obsługi wielu marek za pomocą zmiennych CSS”?

Przełączaj w czasie działania między motywami wielu marek, zamieniając wartości niestandardowych właściwości CSS. Ćwiczysz CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć CSS Academy?

Nie wymagamy żadnego doświadczenia. CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Implementowanie obsługi wielu marek za pomocą zmiennych CSS”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji CSS Academy?

Tak. Każda lekcja CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym są tokeny projektowe
  2. Konwencje nazewnictwa tokenów
  3. Implementowanie obsługi wielu marek za pomocą zmiennych CSS
  4. Narzędzia do tokenów: Style Dictionary
← Powrót do CSS Academy