Techniki Zaawansowane i CMS
4 godz. 45 min · Webflow · UI, UX i Webdesign
Grzegorz RógIdea ArchitectDzięki CMS masz możliwość zdefiniowania w ramach Webflow bazy danych wraz ze strukturą, którą możesz uzupełniać Ty lub osoba zajmująca się rozwojem strony, w ramach intuicyjnego modułu Editor, bezpośrednio w przeglądarce. W Kursie przyjrzymy się temu, jak działa CMS, jak tworzyć kolekcje i korzystać z dynamicznych danych w ramach podstron w Webflow, jak również w ramach stron kolekcji.
Rozpoczniemy od stworzenia systemu identyfikacji dla naszej strony, który umieścimy w ramach Style Guide w Webflow, dzięki czemu kolejne modyfikacje stylistyczne będą łatwe i dziedziczone na wszystkie podstrony naszego serwisu. Dobre przemyślenie struktury i komponentów pozwoli nam na wydajną pracę w Webflow i szybkie poprawki.
W Kursie przygotujemy od podstaw strukturę danych bloga, użyjemy dynamicznych placeholderów a następnie osadzimy bloga w ramach istniejącej, statycznej witryny, którą przygotowaliśmy w kursie podstawowym Webflow. Dowiesz się wszystkiego o tym, jak działa CMS i jak wykorzystać jego bardziej zaawansowane możliwości.
Poza tym, w kursie przewidziałem szereg lekcji, które pozwolą Ci wzbogacić funkcje Twojego serwisu o logikę biznesową, którą stworzymy bez konieczności używania języków serwerowych. Zbudujemy wyszukiwarkę opartą o elastic search, czyli najlepszy otwarty system do indeksowania i zwracania wyników.
W kursie pokażę Ci też kilka rozwiązań, które pozwolą rozbudować możliwości Twojej strony o przydatne automatyzacje, w ramach których wykorzystamy takie narzędzia jak Zapier czy Integromat. Dzięki temu będziesz mógł wyjść poza ekosystem Webflow i wpiąć na swoją stronę, bez kodowania, w zasadzie dowolne narzędzie, z pomocą API!
Kurs przygotowałem przede wszystkim dla osób, które znają już podstawy Webflow i potrafią stworzyć w tym narzędziu dowolny layout, ale chcą wzbogacić swoje projekty o dynamiczne dane i zaawansowane narzędzia, które oferuje ta platforma. Konieczne są tu solidne fundamenty Webflow z kursu podstawowego oraz przynajmniej podstawy HTML i CSS. Nie zaszkodzi trochę wiedzy z programowania, choć nie jest to obowiązkowe. Ten kurs to świetny sposób na to, aby przygotować funkcjonalne MVP swojego produktu, ale też zacząć oferować klientom dynamiczne strony i funkcjonalność CMS w połączeniu z narzędziami no-code, które pozwala tworzyć projekty w rekordowym czasie!
Cześć! Witaj w kolejnej lekcji, w której pokażę Ci jak ostylować
tak przygotowane kafelki. W zasadzie możesz pominąć tę lekcję,
jeżeli wiesz, że stylowanie nie stanowi już
dla Ciebie problemu. Ja akurat uważam, że kafelki po prostu były na tyle ważne, że
chciałem pokazać od początku do końca w tym kursie jak je zrobić.
Nawet dla osób, które nie oglądały kursu
podstawowego, ale, jeśli już przerobiłeś kurs podstawowy i wiesz dokładnie jak
posługiwać się właściwościami w CSS, możesz spokojnie tę lekcję przewinąć, bo będę
tutaj tylko robił style, a nie będę robił elementów CMSa. Także zaczynamy stylowanie
od Blog card i Blog card chciałbym ustawić parę właściwości.
Przede wszystkim zmienimy Layout. Ustawimy na Display Flex. Direction wybierzemy vertical
po to, żeby wyświetlać pionowo elementy. A po co to robię? Po to
żeby właśnie upewnić się, że elementy będą rozciągnięte.
Następnie wybieram widoczność elementu.
Kolejną właściwość overflow ustawiam na Hidden.
W razie czego, żeby nic nie
było widoczne poza tymi kafelkami, a samą pozycję ustawię tutaj na pozycję Relative.
Dlaczego?
Dlatego, że później będziemy mogli łatwo pozycjonować wewnątrz tego elementu
Inne rzeczy takie jak np.
właśnie ten tags wrapper.
Następna rzecz, którą ustawiamy to będzie
kolor. Nie kolor tekstu, a color background, czyli wybierzemy ten kolor na Brand 6.
W ten sposób, a następnie Border radius jeszcze ustawimy na 12 pikseli.
No i box shadow też dodamy, będzie to trochę mniejszy cień.
Będziemy chcieli go ustawić na
15, czy 16 pikseli, wybierzmy 15 i blur zrobimy na 30, czy nawet 35, żeby
był większy, natomiast jego przezroczystość znacznie zmienimy np.
zrobimy tutaj 7, czy 6.
Taką wartość, której używaliśmy wcześniej.
Upewnię się też, że kursor jest ustawiony na Pointer, ponieważ całość jest linkiem,
W związku z tym chciałbym, żeby było to widoczne jak ktoś najedzie, żeby
tutaj widział rączkę, która wskazuje, że można na to kliknąć.
Następnie mamy tags wrapper. Przejdźmy do tego kolejnego elementu i dla tags wrappera,
elementy, które chce zmienić główne to
będzie pozycja, ponieważ chciałbymm ustawić dla niego pozycję absolutną.
Będzie ona pozycjonowana względem pierwszego relatywnego elementu,
relatywnie pozycjonowanego elementu rodzica, w związku z tym względem blog card,
które przed chwilą przestawiłem na relative
No i w związku z tym mogę już łatwo
dostosować teraz pozycje. Ja po prostu odsłonę to,
wyrównam do lewej górnej krawędzi, ale odsunę to o
np. 16 pikseli, nie procent, tylko wpiszę sobie z palca piksele, 16 pikseli od
lewej i od górnej strony. No i w ten sposób udało się to łatwo zrobić. Z index w razie
czego zrobię trochę wyższy, żeby mieć pewność, że jest to widoczne nad kartą.
Kolejno mamy elementy Captions. W zasadzie one są dobrze ostylowane, jedyne, co zrobię to może
dodam z prawej strony jakiś mały margines, żeby rozsunąć je, odsunąć od siebie.
Teraz mamy obrazek. Może rzeczywiście wybierzemy najpierw Card image, po to
żeby na ten obrazek nadać konkretne właściwości.
Ja chciałbym, żeby mieć pewność, że on ma szerokość i wysokość 100 proc.
Jako Fit wybiorę sobie Cover.
No i też, żeby mieć pewność, że on dobrze się wyświetla w każdej sytuacji w tym
kafelku, to wybiorę dla niego pozycjonowanie absolutne i po prostu
rozciągnę go na full, czyli z każdej strony.
Naturalnie on teraz wyskoczył z naszego
obiegu dokumentu, dlatego, że cards image kontener powinien być jego rodzicem, który
jest pozycjonowany na pewno relatywnie, więc tutaj zmienię pozycję na relative
i już wszystko zaraz wróci do odpowiedniej wielkości.
Natomiast sztuczka polega na tym, że teraz
właśnie na cards image conteiner ustawię sobie konkretną szerokość. 100%
upewnię się, że jest, ale ustawię sobie konkretny Padding od góry i to właśnie tym
Paddingiem będę determinował wysokość tego zdjęcia. To jest fajna sztuczka, którą
zwykle właśnie stosuję w takich sytuacjach.
Dzięki temu możemy bardzo łatwo określić
sobie Padding, określić sobie wielkość zdjęcia, wysokość i ja mogę sobie ją ustawić np.
w procentach na 54 proc.
akurat w tym przypadku. Będzie to całkiem fajne, elastyczne rozwiązanie. Wydaje mi się,
że jeśli chodzi o właściwości zarówno zdjęcia jak i jego maski, którą
stworzyliśmy z pomocą Paddingu, to to jest już wszystko. To teraz możemy przejść do
tej sekcji card text i tutaj ustawiamy kolejne właściwości.
Przede wszystkim będę chciał ustawić
Display na Flex i wybierzemy dla niego Vertical, czyli pionowe.
Następnie wybierzemy
Justify od góry i od dołu, tak, żeby sekcja Footer była przyciągnięta do
dołu, a sekcja Card title była przyciągnięta do góry.
Kolejno będę chciał, mamy tu Padding już
ustawiony, więc w zasadzie kolejne dla tej sekcji, chyba tylko zmienimy kolor tła,
czyli wybiorę sobie kolor tła na kolor biały, bo tak jest w naszych kafelkach
zadeklarowane. Jeśli chodzi o Card title to w zasadzie nie musimy tu nic zmieniać,
podobnie jak dla Heading 3, ale zmienimy właściwości paragrafu.
Czyli może wpiszemy Card excerpt.
Zrobimy tutaj nową klasę,
a następnie wrzucimy na pewno jakiś delikatny margines,
może 8 pikseli od góry, żeby odsunąć go od tytułu.
Kolejne ustawienia to na pewno musimy
zmienić kolor tekstu, czyli przejdźmy do Text color i tutaj skorzystamy z koloru
8d8d8d. W sumie to jest kolor szary, z którego już korzystaliśmy.
Nie wiem, czy on jest w Style guidzie.
Chyba jest. Moglibyśmy właśnie skorzystać z jednego z tych kolorów, które mamy tutaj
zadeklarowane albo użyć właśnie tego i dodać go do Style Guide'u.
Myślę, że tak jest w porządku, natomiast musimy zmienić grubość tego tekstu. Zmieniamy ją
na Normal i rozmiar to będzie nie 18, a 16 a Interlinia to 21
W tym przypadku. Tutaj w zasadzie też
nie musimy nic zmieniać, jeśli chodzi o ten kontener.
Natomiast na pewno będziemy musieli zmienić w każdym z tych przypadków, mamy
klasę Display, czyli wyświetlanie na blog, Card separator też na blog,
i Card category też na blog, czy Inline blog, żeby te rzeczy umieścić obok siebie.
Kolejno w tym Card separatorze dodamy margines z lewej i z prawej strony, czyli
mogę z altem go dodać na przykład na 10 pikseli,
to za dużo, zresztą zaraz zobaczymy jak dostylujemy jeszcze tekst. Rozmiar tego tekstu zmienimy
na 10 pikseli i wysokość linii zmienimy na 13.
To chyba wszystkie ustawienia,
które są nam tutaj potrzebne i to samo zrobimy w Card authorze.
Tutaj też zmienimy tak samo kolor, tak samo zmienimy tekst na 10 i na 13 wysokości linii
i w tym przypadku Card category zmienimy sobie
na pewno wielkość tekstu też na 10 i na 13
Interlinie, natomiast kolor zostawimy taki i teraz wydaje mi się, że jest OK.
Natomiast rzeczywiście między in jest teraz chyba
za duży jednak odstęp, spróbujmy go zmienić np.
na 3 piksele i teraz jest OK.
Ostatnia rzecz, która jest tutaj do zrobienia to chciałbym sprawić, żeby zawsze
te wszystkie kafelki miały równą wysokość. Zrobię to z pomocą takiej sztuczki, że na
cały Collection item mogę wrzucić Display Flex i wtedy będzie to działać.
Dlaczego?
Dlatego, że w Line mamy po prostu opcję wyrównania od góry do dołu ustawioną na
Stretch i w takiej sytuacji będzie to działać poprawnie.
Oczywiście trzeba będzie zobaczyć, czy na
poszczególnych wariantach kafelków, z różnymi długościach excerptu też
wygląda to ok. Na razie myślę, że tak, bo tu mamy cztery linie, tutaj mamy trzy.
Marginesy i odstępy są ustawione poprawnie, ale zwykle jest tak, że, jeżeli więcej
danych nam się tu załaduje będziemy mogli dostrzec jakieś ewentualne niedoskonałości.
Natomiast ważne jest to, że my te
niedoskonałości poprawiamy tylko na jednym elemencie, czyli mamy w zasadzie Card list,
który jest takim kontenerem, później mamy ten wrapper i na każdym item'ie po prostu
będą te zmiany widoczne w momencie, gdy je wprowadzimy, więc robimy je raz w jednym
miejscu i dzięki temu będzie zmieniać się wszędzie.
Teraz zobaczymy jeszcze wersje responsywne,
pewnie przy nich nam wyjdzie trochę rzeczy. Zerknijmy
tutaj. Wygląda może OK.
Może tutaj już w tym wariancie responsywnym tabletowym tak jest ok
3 karty, ale w tej najmniejszej rozdzielczości już raczej nie.
Dwóch nie będziemy mogli zrobić, bo wyjdzie nam 2 i 1, więc zostaje nam wariant
przełączania tutaj już na tablecie, na jeden kafelek, ale zanim to zrobię to
zobacz jeszcze zauważyłem, że ten footer nie jest wszędzie równo. Tu mamy
więcej tekstu i tak wygląda na to, że cały Card text nie dopasowuje się wysokością
do kafelka. A jak możemy to zrobić? Bardzo łatwo, dlatego że Card text jest dzieckiem
tego Blog card, który ma właściwość Flex, w związku z tym mamy Flex child i domyślnie
Sizing jest ustawiony na Shrink. My będziemy musieli zmienić to na Grow.
Najlepiej jednak będzie to zmienić już
tutaj, po to żeby wszystkie wersje to dziedziczyły, to ustawienie.
Więc przechodzimy tu i wybieramy Grow if
possible i teraz jest dużo lepiej. Również na wersjach responsywnych też będzie OK.
Natomiast tak jak wspomniałem, już w tej
wersji tabletowej w mojej ocenie po prostu trzeba przejść do Blog card list, następnie
wyedytować grida i usunąć stąd dwie kolumny po to, żeby została tylko jedna kolumna.
To jest ok i na cały Blog card list wybierzmy teraz dane. Na całą Blog card list
jeszcze wrzucimy margines od lewej i prawej strony 12,
taki sam jak mieliśmy w kontenerze wyżej.
Moglibyśmy oczywiście to zrobić, gdzieś
wyżej, może w kontenerze miałoby większy sens, bo, jeśli wrzucimy to na Blog content
container to Category section i Blog content container są elementami, które
będziemy powielać na kolejne sekcje, więc może rzeczywiście tutaj by było OK.
Natomiast tutaj musimy dodać Padding, ale to mi nie przeszkadza.
Natomiast tego Padding'u nie chciałem mieć
w wersji desktopowej, chcę mieć to dopiero od wersji mobilnej.
No i to, co możemy zrobić jeszcze to
dostosować zdjęcia, a raczej Cards image container.
Mamy tutaj 54 proc.
Padding'u, możemy to zmienić, ponieważ samo zdjęcie jest ustawione na Background size cover,
to ono powinno ładnie się wszędzie centrować.
Natomiast my mamy możliwość w każdej wersji responsywnej np.
w mobilnej tej tutaj, jeżeli uznamy, że to zdjęcie jest za
małe, nie ma problemu, możemy po prostu je powiększyć z pomocą tej sztuczki
z Paddingiem i zawsze będzie dobrze nam się skalować.
Dobrze to działa i myślę, że w responsywnych widokach też wygląda w porządku.
Rzecz jasna można by było trochę rzeczy
dopracować, ale myślę, że jest okej. Możemy przejść do kolejnej lekcji, gdzie dodamy
sobie jeszcze jeden przycisk, a także dodamy kolejne sekcje. Do usłyszenia!