Framework dla Webflow
4 godz. 22 min · Webflow · UI, UX i Webdesign
Grzegorz RógIdea ArchitectDuża część naszej pracy sprowadza się do projektowania prostych stron - wydarzeń, małych sklepów, ofert, landing page'y. SystemFlow znacznie upraszcza i przyspiesza naszą pracę w tym zakresie, oferując szereg gotowych komponentów, sekcji i template'ów, które możesz wykorzystać do poskładania takiej strony w kilka minut.
SystemFlow jest w całości zmapowany na Figmę, co znaczy, że otrzymujesz kompletny UI Kit dla Figmy, z pomocą którego możesz projektować. Następnie, stworzone w ten sposób projekty w prosty sposób przeniesiesz do Webflow, korzystając z tych samych nazw komponentów, tworząc z tego gotowy, działający projekt strony.
W SystemFlow masz możliwość zdefiniowania własnej stylistyki całego systemu - globalne zmiany do typografii oraz swatchy kolorystycznych sprawią, że fonty i kolory zmienią się na przestrzeni całego Twojego projektu! W ten sposób łatwo przygotujesz strony, które stylistycznie znacznie odbiegają od pierwotnej koncepcji framework'u i są dopasowane do identyfikacji Twojego klienta.
Plik Webflow, na którym pracujesz z Frameworkiem, zawiera pełną dokumentację, która zmienia się na żywo, w trakcie projektowania. Oznacza to, że po publikacji samej strony w Webflow, otrzymujesz kompletną referencję z design tokenami, wyglądem formularzy, przycisków, komponentów i innych elementów, którą możesz przekazać klientowi. Przykład dokumentacji wygląda tak: https://systemflow-v-1-1-51e1ee81-49590199e0f65.webflow.io/style-guide/about/overview
SystemFlow powstał w jednym celu - aby pomóc nam tworzyć projekty dla siebie i naszych klientów znacznie szybciej, wydajniej, w sposób zorganizowany. Ponadto, aby wykorzystać Webflow jako najlepszy edytor, dający nam łatwy dostęp do zmian w ramach uporządkowanej struktury, obsługę CMS, E-Commerce, a klientowi możliwość edycji elementów strony z przeglądarki. Z drugiej strony, wykorzystaliśmy Figmę czyli najlepsze narzędzie do projektowania UI z masą dodatków i pluginów, które usprawnią Twoją pracę!
Ten kurs przygotowany jest z myślą o osobach, które w swoich firmach tworzą wiele stron, na przykład marketingowych i chcą czy to do tworzenia finalnych stron czy prototypów, wykorzystać Webflow i ewentualnie Figmę. Kurs nadaje się też doskonale dla Freelancerów którzy oferują swoje usługi tworzenia stron w Webflow, a także agencji kreatywnych, które mogą znacznie przyspieszyć swoją pracę dzięki SystemFlow!
SystemFlow 1.0+
Sam framework. System Flow składa się z dwóch
podstawowych elementów, które są jego bazą.
Pierwsza to omówione przeze mnie w
poprzedniej lekcji komponenty, czyli wszystkie elementy, które znajdują się w
Components, a także te złożone komponenty, czyli tzw.
template.
Natomiast drugi najważniejszy element składowy system Flow to klasy.
Mamy tutaj mnóstwo przygotowanych,
predefiniowanych klas, z których korzystamy w ramach całego frameworku.
Są to klasy dotyczące typografii, np.
te definiujące nagłówki class klasy do kolorów bez single
layoutu i z pomocą właśnie tych klas jest zdefiniowany cały framework i
wszystkie komponenty również zawierają referencję do tych klas.
Teraz, jeśli przejdziemy do designera i skorzystamy z jakiegoś komponentu np.
wybierzmy sobie Hero, może Hero Video.
I teraz w ramach takiego komponentu, jeśli go od linkujemy a link instance
znajdują się przyciski, znajdują się jakieś akapity.
Oczywiście mamy tutaj nagłówek i wszystkie te elementy.
Jeśli przyjrzymy się w panelu Class, zawierają odpowiednią klasę.
W tym przypadku jest to Head XML.
No i gdybyśmy spojrzeli tutaj w
naszej dokumentacji na typografię, to mamy jednak XML, czyli ten największy nagłówek.
To znaczy, że my budując wszystkie komponenty, oczywiście
wzięliśmy pod uwagę te klasy, które przygotowaliśmy dla System Flow.
Dzięki temu oczywiście masz pewność, że
modyfikując jedną klasę czy to w dokumentacji, tutaj na podstronach, czy
również modyfikując ją bezpośrednio na żywo np.
tutaj modyfikując ten link XML.
W ten sposób zmodyfikuję wszystkie
nagłówki typu X, ale w ramach całego frameworka, całego systemu.
I oczywiście o ile będziesz konsekwentny w
stosowaniu tych klas, to wszystkie elementy, które Ty dodasz do Twojej strony
będą również zmieniały się razem z tymi klasami.
Co mam na myśli? Jeśli np.
dodasz tutaj jakiś element i będzie to akapit paragraf?
No to na razie nie ma on żadnej klasy.
Więc gdybyśmy teraz weszli sobie do tego
akapitu, który ma klasę body text L i zmienili tu jakieś właściwości.
Naturalnie nie będzie to wpływało na ten akapit, który dodaliśmy, ale jeśli
sprawdził byś jakie klasy są używane dla tekstu, przykładowo dla body teksty w tej
zakładce typografii mamy Body Text Elements, to możesz
skorzystać z tej nazwy Control Enter albo Control Command Return na Macu.
I teraz wpisujemy sobie body text
i najlepiej wybrać to strzałką na klawiaturze i zatwierdzić enterem.
Już mamy nadaną klasę body dla tego nowego elementu.
I teraz jeszcze raz Command return czy Control Enter
i możemy wybrać jedną z combo class M albo S, więc możemy wybrać sobie np.
Body text symbol tym razem
i ta klasa automatycznie jest zastosowana do całego akapitu.
No i teraz jeśli będziemy modyfikować
gdziekolwiek indziej czy to w dokumentacji, czy na stronie custom list,
czy na stronie typografii, modyfikować tą klasę, ona wpłynie na wszystkie te
akapity, które sformatować jako body text s.
To też jest dobry sposób na to, żeby
nauczyć się pewnej sensownej konwencji nazywania klas w ramach Twojej strony.
No i w ten sposób klasami mamy nazwane nie tylko style dla tekstu, ale
tak jak wspomniałem, również wszystkie kolory są opisane swoją konkretną klasą.
Przy czym kolory podzieliliśmy na kolory background, a także kolor tekstu.
Czyli innych klas będziesz używał, żeby
sformatować tło, a innych klas żeby sformatować tekst.
Tyle, że te klasy są na tyle podobne, że
bardzo łatwo je skojarzyć, bo zaczynają się od C.
Kolor. Następnie mamy.
B jak background.
A jeśli byśmy formatować tekst, to po prostu byłoby tutaj C zamiast B, czyli
kolor tekst, no i później jeden z kolorów, czyli np.
Primary 50.
Spróbujmy teraz taką klasę zastosować do
naszego body tekstu, czyli wciskam command i Therm czy Control Enter.
Czyli dodaję tutaj kolejną klasę, kolejną combo klasę, ale same klasy kolorów np.
czy sparingu zostały przygotowane w ten
sposób, że można bez problemu też je dodawać jako któreś kolejne combo klasy.
Tutaj jeśli zacznę wpisywać CT, czyli
kolor, tekst, a następnie primary to teraz już mogę z klawiatury wybrać sobie, że np.
chcę zastosować tutaj kolor tekstu primary 60.
I kolor został zmieniony na niebieski.
Jeśli chciałbym sformatować tło też nie ma
problemu i mogę dodać tutaj jeszcze jedną kolejną klasę.
Będzie to C, B czyli kolor background. No i np.
dodajmy sobie error 10 to zastosujemy taki
delikatny czerwony kolor jako tło dla tego akapitu.
Więc jak widzisz te wszystkie klasy mogą koegzystować ze sobą i funkcjonować razem.
Mamy też inne ciekawe klasy, np.
dedykowaną dla tekstu klasę T, a tu mamy tekst line np.
Center po to, żeby wyśrodkować tekst text
align center po prostu wyświetli w środku nam tekst, więc nie musimy tutaj
szukać opcji wyśrodkować, a wystarczy wrzucić szybko taką klasę.
No i jak widzisz, nasz framework pozwala
na to, żeby wykorzystać wiele różnych klas i wrzucić je na jeden element.
Takich klas mamy również więcej.
Jeśli chodzi o sam passing i layout są one
przygotowane w takiej konwencji Space Ink, a następnie mamy P, która oznacza padding.
Analogicznie możesz skorzystać z em, czyli margin.
Następnie podajemy liczbę pikseli i to jest padding value.
Na razie w pikselach.
Być może we frameworku później będą inne wartości, także relatywne.
Natomiast tutaj podajemy np.
32 i cała lista tych wariantów jest tu, czyli mamy 0, 4, 8, 12, 16, 24, 32 itd.
Możemy to podać i wtedy padding zostanie zastosowany z każdej strony tej wielkości.
Natomiast jeśli chcemy tylko od góry i od dołu to dodajemy tutaj y, czyli na osi Y.
Jeśli chcemy po lewej i prawej dodajemy X.
Jeśli chcemy dla każdej z krawędzi osobno to mamy top ride, bottom i left.
Więc możemy spokojnie
teraz przetestować jakby to zadziałało na naszym body tekście.
Czyli idziemy do Space Ink.
Następnie padding albo margin.
Może dodajmy sobie margin i np.
wybierzmy tę klasę 128.
W tym momencie dodaliśmy kolejne dodatkowe
kolejne marginesy 128 do tej klasy Body text.
Jeśli chcielibyśmy skorzystać z class tylko dla tabletu albo
dla urządzeń mobilnych, to możemy to zrobić.
Mamy tutaj Space Ink Tablet, a tutaj Space Ink Horizontal dla moba, eleganckie
Horizontal i Space ING Mobile ogólnie dla mobile.
Dlaczego moglibyśmy korzystać z takich klas?
Po prostu wtedy, kiedy chcemy, żeby
ten margines czy padding został zastosowany tylko np.
dla tabletu i mniejszych rozdzielczości, a na desktopie będzie niewidoczny.
Czyli jeśli ja bym dodał do tego elementu Space Ink tablet, a następnie
podał tutaj margin i dodał 12 pikseli marginesu, to jak widzisz ta zmiana jest
niewidoczna w desktopie, Ale jeśli wejdę na tablet, to ten margines zostanie tutaj
uwzględniony i jest widoczny wyświetlany w tym miejscu.
Natomiast na desktopie, jak widzisz, go nie ma, więc to jest fajna klasa.
No i my możemy oczywiście usuwać też te klasy.
Jeśli chcesz, to możesz po prostu name, czyli zmienić nazwę tej klasy np.
Natal i wtedy zostanie ona zastosowana
tutaj text align left i to też będzie działać bez problemu.
Tak właśnie wygląda dodawanie istniejących
klas, które są już we frameworku do jakichś nowych elementów.
Rzecz jasna do istniejących elementów też możesz dodawać tę klasę.
Przykładowo w tym zbudowanym komponencie mamy body text, ale gdybyśmy chcieli
uwzględnić jakiś margines, to możemy to zawsze zrobić.
Albo gdybyśmy chcieli np.
sformatować jakiś kawałek tekstu konkretnym kolorem.
Możemy zawsze wyodrębnić tutaj span, czyli span, a następnie podać kolor text i np.
error 50, żeby uzyskać czerwony kolor.
Korzystanie z tego typu zabiegów
pozwoli nam uzyskać spójność w całym projekcie, a dodatkowo z racji tego,
że używamy tych spójnych klas, to później modyfikacja klasy w jednym miejscu
spowoduje, że wszystkie komponenty zostaną adekwatnie zmodyfikowane.
Dodajmy to może jeszcze jeden komponent i
może znów skorzystamy z jakiegoś hero z video np.
tego. Teraz możesz zastanowić się nad tym jak
modyfikować istniejące klasy i czy będzie miało to wpływ na inne elementy.
Oczywiście, że tak.
I ta modyfikacja może przebiegać na dwa sposoby.
W zasadzie po pierwsze możesz iść do odpowiedniej strony typu customs albo
strony dokumentacji i tutaj wybrać sobie któryś z nagłówków z typografii czy któryś
z kolorów, a następnie zmodyfikować go w panelu stylów.
Natomiast bardzo często mi się zdarza po prostu pracować na
projekcie, dodawać tutaj nowe komponenty od linkować i w locie zmieniać właściwości
tych rozmaitych klas, gdzie efekt będzie dokładnie taki sam.
Bo czy my tutaj zaznaczymy sobie head h1 i zmodyfikujemy head XML właściwości?
Czy zrobimy to na stronie dokumentacji?
Rezultat będzie identyczny.
Więc gdybym ja tutaj np.
zmienił sobie nagłówek Bold na nagłówek Norma, to zobacz, że razem z tą zmianą
zmieniają mi się wszystkie nagłówki na stronie, czyli również ten.
Dlatego, że to również jest XML.
To samo by się stało, gdybym modyfikował body text.
Jeśli zmieniłbym np.
font ładna medium.
No to wszędzie zmieniło mi się na medium, bo modyfikuje tą jedną konkretną klasę.
Więc w ten sposób możemy sobie w locie modyfikować klasy, z których korzystamy.
I też zobacz, że mamy taką specyficzną konwencję, że np.
jest head ing, później XML albo body text.
L w przypadku różnych innych elementów też
jest podobna konwencja i mogę oczywiście zmodyfikować cały
Helsinki XL, ale mogę też po prostu usunąć na chwilę tą kombo klasę XL.
Następnie, jeśli chcę wprowadzić zmianę do wszystkich nagłówków, nieważne czy te S,
M, L, XL, to mogę zrobić to tutaj i na przykład dodać jakiś ekstra margines u
góry, a następnie mogę przywrócić tutaj te kombo klasę XL i to co zrobiłem
spowodowało, że zmieniłem globalnie ustawienie dla wszystkich head głów, czyli
wcześniej zmieniłem, ustawiłem dla nich margines jest tutaj i tutaj.
Natomiast na klasie XL tego marginesu już nie ma.
On jest dziedziczony z tej klasy chemik, więc można.
W ten sposób i w ten sposób sobie rozbijać te klasy na czynniki pierwsze.
Jedna bardzo, bardzo, bardzo istotna rzecz.
Szkoda, że na koniec, ale proszę, byś ją zapamiętał.
Polega na tym, że jeśli chcesz dokonywać
jakichś swoich własnych modyfikacji, a nie chcesz przypadkiem zmodyfikować np.
wszystkich nagłówków na stronie teraz, to
naszą preferowaną metodą jest po prostu dodanie tutaj jeszcze jednej combo klasy.
Jeśli wciśniesz Command Return Command
Enter to możesz dodać combo klasę, dowolną nazwę np.
klas, miting, cokolwiek.
Fajnie, żeby to było rzeczywiście jakieś sensowne i jakaś racjonalna nazwa.
Natomiast jeśli dodasz dodatkową klasę, to
w tym momencie możesz dokonać takie modyfikacje, które są lokalne dla tego
jednego Binga i jesteś pewien, że nie zmodyfikuje sobie wszystkich pozostałych.
Czyli zawsze dodajemy jeszcze jedną, kolejną klasę.
I teraz możemy przykładowo zmienić kolor
na kolor granatowy i nie będzie miało to odzwierciedlenia w tym link, który
znajduje się tutaj, bo to już jest zupełnie inna klasa.
My w tym momencie modyfikujemy ten combo selektor klas.
To jest bardzo ważne, żeby pamiętać, aby
te nasze własne selektory czy combo klasy znalazły się na samym końcu w strukturze.
No bo gdybym tutaj dodał np.
text align left jeszcze combo klasę i w niej zmodyfikował kolor albo cokolwiek
innego, to nie modyfikuje tego my class, tylko modyfikuje już having x
all my class tail, czyli ostatnią klasę, a tego byśmy nie chcieli.
Niestety trzeba na to uważać i mi się zdarza często.
Rzeczywiście da to przegapić, żeby właśnie
pamiętać, żeby nie zmodyfikować jakiejś istniejącej klasy systemowej, jeśli
oczywiście chcemy te zmiany zastosować lokalnie dla jednej instancji.
Natomiast nie ma problemu z tym, żeby np.
zamiast klas marginesów, jeśli przykładowo
nie pamiętamy jaka była klasa dla marginesu, albo
chciałbym zrobić jakieś kilka zmian w CSS, a nie tylko przykładowo ustawić padding
czy margines, to nie muszę tego robić klasą
space ink margin i później jeszcze kolejną klasą systemu i kolejną klasą systemu.
To jest tylko taka pomoc dla Was.
Natomiast wolałbym wtedy zrobić to właśnie klasą jakąś dowolną nową My class i
poustawiać sobie tutaj dokładnie tak właściwości, jak bym chciał.
Zatem pamiętaj o tej ważnej zasadzie o tworzeniu własnych combo class.
Możesz Nie musisz korzystać z tych klas frameworku.
Nie jest to konieczne, zwłaszcza w momencie, kiedy będziesz miał
nadpisane lokalnie zmiany dla tej jednej instancji takiego elementu.
Poza tym, jeśli chodzi o klasę myślę, że to najważniejsze informacje.
Dzięki za uwagę i do usłyszenia.