Strony WWW bez Kodowania
5 godz. 47 min · Webflow · UI, UX i Webdesign
Grzegorz RógIdea ArchitectJeśli edytory wizualne stron kojarzysz z technologiami określanymi jako WYSiWYG - Webflow nie ma z nimi praktycznie nic wspólnego. Kod, który generowany jest przez Webflow to czysty, estetyczny HTML, CSS, JavaScript a o jego jakości decyduje jedynie to, jak dobrze znasz narzędzie a także technologie webowe. Można więc powiedzieć, że Webflow raczej pozwala Ci tworzyć strony w rekordowym czasie, dzięki temu że nie musisz pisać kodu, a układ wyklikujesz w interfejsie. Takie podejście gwarantuje, że nasze strony będą przygotowane w oparciu o semantyczny kod i nowoczesne standardy!
Są praktycznie nieograniczone. Poza tym, że możesz tworzyć strony statyczne, masz też możliwość przygotowania dynamicznych witryn w oparciu o CMS a nawet kompletnych systemów E-commerce, budując je z gotowych komponentów. Webflow tym jednak różni się od "kreatorów stron", że zaczynamy w nim pracę zwykle od czystej kartki, a co za tym idzie możemy zaimplementować dowolny layout! Następnie, z pomocą Webflow możemy opublikować gotową stronę, dodać do niej naszą domenę, dołożyć hosting i... violla! Bez zbędnych konfiguracji strona jest widoczna w sieci. Dodatkowo, klient może edytować ją bezpośrednio w przeglądarce, z pomocą wbudowanego Edytora CMS, a także dodawać treści!
W tym kursie skupimy się na Layoucie, który jest podstawą efektywnej pracy w Webflow. To znaczy, że omówimy elementy semantyczne strony jak również jej ostylowanie. Dowiesz się, jak zastosować w Webflow popularne konstrukcje CSS Layout, takie jak Grid czy Flexbox. Pokażę Ci jak od czystej kartki wdrożyć kompletny layout strony, którą wcześniej przygotowaliśmy w kursie Adobe XD. Jeśli chcesz dowiedzieć się, jak zaprojektowałem samą witrynę - odsyłam Cię właśnie do tego kursu. Możesz przerobić go wcześniej, lub równolegle z kursem Webflow, który masz przed sobą.
Po opanowaniu podstaw Webflow będziesz mógł z powodzeniem tworzyć statyczne witryny, w rekordowym czasie. Poznasz wszystkie zasady konstrukcji i stylowania. Będziesz więc mógł wyruszyć w dalszą podróż z Webflow z kolejnymi kursami, które znajdziesz na eduweb.pl i dodać do Twojej strony dynamiczne dane (w kursie Zaawansowanym przygotujemy bloga), jak również cały system E-commerce (który stworzymy w osobnym kursie). Wszystkie materiały przygotowałem tak, aby się dopełniały i abyś mógł poznać wszystkie, nawet najbardziej zaawansowane funkcje Webflow w rekordowym czasie!
Można powiedzieć, że Webflow ze swoim podejściem i integracją z wieloma narzędziami no-code to WordPress na miarę naszych czasów. Trudno powiedzieć, że w każdym aspekcie tworzenia stron będzie lepsze, jednak WordPress ma niewątpliwie sporo wad, które Webflow eliminuje - przykładem jest dość archaiczny codebase, dziurawe wtyczki, podatność na ataki, konieczność ciągłego utrzymania, własnego hostingu etc. Nie ulega wątpliwości, że Webflow jako platforma zarządzana i nowoczesna, ze świetnie rozwiązanym, skalowalnym hostingiem, darmowym SSL itp. ma wiele atutów. Jednak dalej WordPress będzie przydatny w niektórych zastosowaniach i np. budżetowych rozwiązaniach na potrzeby blogów, oraz tam, gdzie wtyczki mogą zastąpić funkcjonalności, których brakuje w Webflow. Nadal te dwa narzędzia są ważne w zasobniku każdego web designera i na pewno warto je znać a następnie na potrzeby konkretnego projektu - wybrać to bardziej odpowiednie!
Webflow to genialne narzędzie dla wszystkich osób, które chcą zacząć swoją przygodę z tworzeniem stron WWW - prosty interfejs wizualny, rozbudowane możliwości, hosting, SSL, domena - to wszystko w kilka kliknięć. Dlatego ten kurs to dobra propozycja dla osób początkujących, które chcą zacząć tworzyć strony. Ale uwaga! Bez solidnych podstaw HTML i CSS Twoje strony nigdy nie będą optymalnie przygotowane. Będziesz także często sfrustrowany tym, że jakieś ustawienie nie działa - tymczasem będzie to pożądane zachowanie wynikające ze specyfikacji HTML. Dlatego zdecydowanie polecam przed kursami Webflow przerobić przynajmniej kurs podstawowy HTML i CSS, a optymalnie jeszcze kursy CSS Grid i Flexbox. Webflow swój największy potencjał jest bowiem w stanie odkryć przed tymi z Was, którzy rozumieją już technologię web i potrafią tworzyć strony. W rękach takich osób Webflow to narzędzie, które niesamowicie przyspiesza pracę i dowożenie nowych projektów dla klientów. Mimo więc, że Webflow jest przyjazny dla początkujących (którzy nawet równolegle mogą uczyć się HTML), jego zalety w największej mierze docenią web designerzy, UI/UX designerzy i web developerzy, którzy mogą pracować i dostarczać projekty w zupełnie nowy sposób!
Webflow 2020+
Cześć w kolejnej lekcji zaczynamy
dokładnie tam gdzie skończyliśmy wcześniej.
Jestem w widoku dektopowym usuwa akapit nie będzie nam potrzebne, a kontent jest
przygotowany na to abyśmy stworzyli tę pierwszą sekcję.
Chciałbym w pierwszej kolejności zająć się właśnie nagłówkiem czyli te
nagłówki po lewej stronie oraz hero image, a także później zrobimy sobie kafelki,
a dopiero później zrobimy sekcję menu i zobaczmy co tutaj mamy.
Mamy caption mamy nagłówek, przycisk, a obok znajduje się obrazek
jak można to rozmieścić w layoucie na wiele różnych sposobów.
Tak naprawdę możemy nawet korzystać z
predefiniowanego layotu hero i po prostu go przeciągnąć, i upuścić.
Myślę że skorzystałbym z tego w pierwszej kolejności ale chciałbym żebyśmy jednak
nauczyli się robić to od podstaw w związku z tym przejdźmy do elementów.
I możemy zbudować to znów z różnych
klocków możemy użyć kolumn natomiast one nie będą do końca wygodne jeśli chodzi o
umieszczenie na przykład wycentrowania elementów.
Do tego najlepiej sprawdzi się grid który możemy wykorzystać albo kontener któremu
zmienimy display na flex i po prostu użyjemy flex-boxa.
W zasadzie wszystkie te sposoby będą dobre a my wykorzystamy teraz flex-boxa i naczelna
zasada jest taka że jeśli nie musimy to nie tworzymy w środku jakiś dodatkowych
kontenerów czy nie wrzucamy jeszcze jednego kontenera i do niego jakiś DIV-ów
po prostu spróbujmy zrobić tak żeby ten kontener był flex-boxem, a w nim znajdą
się dwa elementy jeden DiV to będzie DiV w którym znajdzie się tytuł i przycisk,
a po prawej stronie zrobimy kolejne DiV które będzie zawierał obrazek możemy
bezpośrednio na nawigatorze wybrać command C i command V. Po to żeby po prostu
zduplikować taki element te elementy oczywiście są to elementy
blokowea więc będą układały się jeden po drugim gdzie w ogóle możemy sprawdzić czy
to jest element blokowy czy element Inline itd.
I zmienić te właściwości.
Sekcji layout gdy zaznaczymy taki Div do przejdziemy sekcji Layout zobaczy że mamy tutaj
zaznaczony blok element możemy zmienić to na flex.
Możemy też zmienić na grida.
Mamy do dyspozycji Inline blok oraz Inline więc gdybyśmy zmienili na Inline.
Jak widzisz jeden mógłbyś jeden moglibyśmy umieścić obok drugiego.
Moglibyśmy też zmienić na Inline blok.
Będziemy często korzystać z tych właściwości.
I liczę na to że przerobiłeś kurs HTML, a więc doskonale wiesz o co tutaj chodzi.
Natomiast to są właściwości indywidualnych Divów.
My natomiast chcemy cały kontent zmienić tak aby stał się on flex - boxem.
Czyli to tutaj przechodzimy.
I to tutaj wybieramy drugą opcję czyli flex - layout ustawiając to na kontencie.
Mamy do dyspozycji wszystkie opcje flex, a m.in. położenie pionowe albo orientalne
elementów i będziemy przestawiać w widokach mobilnych.
Mamy też do dyspozycji wyrównanie i wyjustowanie, zostawmy na razie tak jak jest.
Umieścić je wewnątrz Div-ów z kontentem.
Te rzeczy które powinny się w nich znaleźć
więc wybieram 'A' na samej górze znajduje się tekst typu Caption.
To nie jest tak naprawdę ani Header, ani paragraf, ani nie jest to link.
Jeśli nie jest to jedna z tych rzeczy.
Heading, paragraf albo link to po prostu ustawiamy text blog. Text blog to będzie
zwykłym DiV tekstem i całkiem nieźle się sprawdza.
Następna rzecz którą chcemy tutaj dołożyć no to będzie Heading możemy go umieścić
w odpowiednim miejscu od razu przeciągając tak chyba jest najłatwiej.
I ostatnia rzecz którą chcemy umieścić to
będzie przycisk button i musimy celować w nim bezpośrednio pod headingiem.
Naturalnie można to wszystko jeszcze zmieniać.
Tutaj w tym panelu warstw i reorganizować te elementy w związku z tym bardzo łatwo
można albo przeciągnąć i przenieść do określonego elementu.
W ten sposób albo umieścić tu naturalnie ta hierarchia od góry do dołu.
Wewnątrz takiego Div-a też jest ważna i
odpowiada ona za to jak te rzeczy renderowane w drugim DiV-ie.
Możemy też przenosić się pomiędzy tymi elementami strzałami na klawiaturze.
To jest ważne dlatego, że tak naprawdę często zaznaczała się coś
tutaj to jest przycisk ale chcemy wejść do elementu rodzica.
Wystarczy że wciśnięty strzałka w górę i już jesteśmy na rodziców.
Dodatkowo możesz najechać na nazwę takiego
elementu kliknąć na tą nazwę. To pokaże wszystkich rodziców których ma.
Możemy sobie takiego rodzica wybrać zostanie on zaznaczone w nawigatorze.
Jeśli nie masz nawigatora pod ręką możesz
także z pomocą bread crumps które są na dole.
Tutaj widzisz całą strukturę zagnieżdzenia i też możesz wejść aż do body zaznaczyć sobie to.
To tak jakbyś klikał po nawigatorze więc
sporo różnych opcji nawigacji i przenoszenia.
Jest to wszystko bardzo intuicyjne.
Kolejna chcemy zaznaczyć DiV block i do
niego wrzucić tym razem obrazek. Mamy tutaj w media sekcję image po prostu wrzucamy
ją do tego DiV blocka. Obrazek możemy łatwo dodać za pomocą opcji choose image.
I wtedy zawsze włącza się nam ten panel asset.
Możemy go wybrać przez "J" na klawiaturze.
Będziemy tutaj mieli całe repozytorium naszych obrazków.
Można zmieniać to jak się wyświetlają
np. w postaci grida czy listy lub też małe listy, można je przeszukiwać.
I mamy tu dwa obrazki które dodaliśmy
wcześniej jako nasze favikonki zostały dziedziczone ale my będziemy potrzebowali
wrzucić tu więcej obrazków oprócz obrazów znajdują się tutaj też dokumenty
oraz pliki lottie i np. animacje.
O tym będziemy też mówić sobie później natomiast
ja chciałbym wrzucić tutaj dorzuci obrazki wiec mogę kliknąć upload albo zdecydowanie
łatwiejszy sposób po prostu bierzemy jakiś dowolny obrazek i w momencie gdy mamy
Asset otwarte to możemy po prostu przerzucić go tutaj zostanie on
automatycznie, a uploadowany obrazek został wrzucony dokładnie w takich
rozmiarach w jakich eksportowaliśmy go z xd i są one podane tutaj.
Jedyna właściwość która została odziedziczona z tagu all images jest dla tego obrazka to maksymalna
szerokość sto procent i to jest fajna sprawa ponieważ pozwala zachować obrazkom responsywność.
Przykładowo gdybyśmy weszli widok tabletowy widzisz ten obrazek już jest
troszeczkę mniejszy, a mimo to on ma tylko po prostu max sto procent
czyli jeżeli będziemy mieli mniejszy ekran
on będzie nam bardzo ładnie się skalował do całej dostępnej dla niego szerokości ale
my oczywiście będziemy chcieli jakoś inaczej zarządzić w wersjach responsywnych.
Na razie jednak zostawiamy to tak jak jest
na tym obrazku nie będę już nic zmieniał. Dlatego zostawię go genetyczną nazwę i
image wcisnę jednak strzałkę w górę i przeniose się do Div Blocka.
W tym Div Blocku będę chciał zmienić jedną właściwość, a konkretnie będę chciał
ustawić margines tak żeby obrazek był odsunięty o za daną wartość tekstu.
Gdybym ustawił w tym momencie margines
czyli zmienił to jakkolwiek to pamiętaj że automatycznie została stworzona nowa klasa
i ta klasa bazuje na nazwie którą mamy tutaj.
Może to być trochę mylące i rzeczywiście
można wylądować z wieloma takimi różnymi klasami dziwnymi nazwami tutaj.
Drugi sposób na zrobienie tego to możemy
stworzyć klasę i jeszcze wcześniej przed zadaniem właściwości czyli jakby uprzedzić
trochę ruchy webflow robimy to z pomocą Command Enter.
Jeśli wcisnę teraz Command Enter to przejdę do
selektora i będę mógł wpisać swój własny czyli np.
w Hero image i zatwierdzić go Enter tworząc w ten sposób nowe.
Mogę też z pomocą klawiatury wybrać jeden
z istniejących i teraz go stworzyłem. Mogę przejść do margin
np. kliknąć raz, a następnie wybrać predyfiniowany margines czterdzieści pikseli ten
margines zostanie zresztą fajnie pokazany w momencie gdy najadę sobie
na tego DiV-a i na margin. Zobacz że on się pokazuje jako niebieskie linie.
Na moment kiedy to nagrywam
ma chyba jakiś malutki bug polegający na tym że nazwa tego głównego sektora powinna
zostać odziedziczona i zmieniona także tutaj. Ten DiV block powinien się zmienić hero image.
Moim zdaniem ma to miejsce w przypadku elementów nadrzędnej czyli przykładowo
jeśli weźmiemy sekcję command enter i piszemy Hero to teraz zobaczy że ta nazwa
się zmienia ale nie dzieje się tak w przypadku elementów zagnieżdżonych.
Myślę że też tak powinno być.
Natomiast moja strategia pracy jest taka
że jeśli tylko nie muszę to nie zmieniam żadnych właściwości i tym samym nie tworzy
dodatkowych klas bo zawsze jest to więcej roboty.
I teraz chciałbym zatrzymać się bo jest to.
Dobra okazja na wyjaśnienie takiej drobnej pomyłki którą zrobiliśmy i raczej zrobiłem.
Ją celowo po to żeby pokazać Ci że bardzo łatwo jest zmienić na przykład jakąś klasę.
Nawet o tym nie wiedzieć, a tymczasem zmieni się ona np.
na wszystkich naszych podstronach.
Zrobiliśmy tak w przypadku content gdzie zmieniliśmy tutaj layout na flex box.
Tymczasem powiedziałem ci że nasza
strategia pracy będzie taka że będziemy wybierali sobie najpierw sekcję rzucali.
Ją poniżej następnie będziemy wybierali kontener i wrzucali go do tej sekcji teraz
Control Enter i wystarczy że zjedziemy klawiaturą w dół na klasę kontent.
Wybierzemy ją i powinno już wszystko działać.
Tymczasem nie dla wszystkich tych
kontenerów będę chciał żeby był to flex box dlatego muszę cofnąć się do tej klasy.
Kontent i zmienić display na ten domyślny który tutaj był.
To co powinniśmy zrobić na samym początku zanim zmieniliśmy ten flex to
powinniśmy pomyśleć o tym żeby stworzyć combo klasę.
Czyli zawsze zastanów się proszę zanim
zaczniesz przesuwać jakiekolwiek suwaki tutaj i właściwości.
Zastanów się jakie będzie miało to konsekwencje w przypadku klas.
Jeżeli modyfikacja którą chcesz wprowadzić ma dotyczyć wielu elementów na twojej
stronie to do tego przypisz do tego uniwersalną klasę z której będziesz korzystać.
Jeżeli ma dotyczyć tylko jednego
konkretnego elementu na którym pracujesz musisz w tym momencie stworzyć combo klasę
czyli wybrać Command enter i teraz możesz dopisać do tego.
np. Hero w tym momencie jesteśmy bezpieczni
ponieważ klasa content zachowa display blok tak jak to było wcześniej.
Natomiast klasa content hero będzie Display flexem i w tym momencie
jeśli przejdziemy do tego drugiego kontentu który wyrzuciłem zobaczy on ma.
Display block czyli dokładnie tak jak chcieliśmy.
Przenosimy się w związku z tym tutaj po poprawieniu tej drobnej pomyłki, a
następnie zmieniamy pewne właściwości przede wszystkim Inline.
Mamy tutaj od góry do dołu
te elementy które się rozkładają na gridzie chcielibyśmy żeby te dzieci były po
prostu wycentrowane i to już wygląda lepiej.
Teraz zmienimy jeszcze opcję wyjustowania
Zerknijmy co autor miał na myśli tworząc layout.
Mamy tutaj równo odstęp równy odstęp, a tutaj mamy odstęp trochę
powiększony co zresztą załatwił tą wielkością czterdziestu pikseli.
Natomiast sam flex box ma też dwie
właściwości jeśli uczyłem się o flexboxie to jest nasz.
Jest to Space i space between.
Możemy więc ustawić to tak aby zachować
równe odstępy pomiędzy elementami w środku lub pomiędzy marginesem i elementami
w środku w tym przypadku akurat nie będzie miało to aż tak wielkiego znaczenia.
Jeżeli chcemy żeby te elementy były trochę bliżej siebie.
Wybierzemy drugą opcję.
Ewentualnie pamiętaj proszę że na Div blocku daliśmy jeszcze ten zadany margines czterdzieści .
On cały czas to będzie jeszcze dodatkowo.
Działał więc to co możemy zrobić to zmienić go na zero.
Będą te elementy bliżej siebie.
Ja jednak zostawię ten margines czterdzieści to będziemy mieli mniejszy odstęp, a tu będzie
delikatnie większe aczkolwiek najlepiej będzie to widać dopiero wtedy kiedy już
będziemy mieli treści wypełnione i odpowiednią ostylowanie.
Teraz wiemy jak to wygląda w rozdzielczościach mobilnych,
na tablecie mamy dalej układ poziomy, na telefonie portret landscape
też mamy układ poziomy i tu już nie wygląda to jakoś super dobrze więc
to co możemy zrobić to widok landscape i tak żeby było dziedziczone to na portret
możemy zmienić kierunek flexa z horizonal. Na vertical, a przypominam że mamy zaznaczone
kontent bo on jest jak z flexboxem rodzicem dzieci które będą teraz przedstawione.
Ewentualnie możemy też zmienić ich
kolejność gdybyśmy chcieli obrazek umieścić na górze.
Użyjemy tych strzałek.
No i działa pytanie czy rzeczywiście taki
był zamysł artysty czyli osoby która przygotował layout i okazuje się, że w
tych mniejszych widokach chcemy w ogóle ukryć ten obrazek.
Pytanie czy zrobić to już na widoku tabletowego.
Czy tutaj jeszcze wygląda to w miarę spoko.
Trudno ocenić gdybyśmy mieli już gotowe
heading moglibyśmy to powiedzieć ale to jak mamy to zaprojektowane to już w tym
widoku siedemset sześćdziesiąt osiem tego obrazka nie ma więc cofnijmy zmiany które nadaliśmy tutaj.
One nie są potrzebne bo zawsze najpierw
wychodzimy od tego większego ekranu i w tym większym ekranie zaznaczam że cały
DiV block który tutaj jest a nie sam obrazek i po prostu go ukryjmy.
W sekcji layout znajduje się ostatnia właściwość która pozwala nam ukryć
elementy i wybieramy po prostu none aby ten element został ukryty.
Zwróć uwagę na to że nie usunął tego
elementu czy backspace na nim bo wtedy on usunął się z
całej struktury dokumentu czyli nie byłby nigdzie widoczny.
Ja go tylko odkryłem, a ponieważ odkryłem go tylko w tym break poincie
tabletowym to będzie dziedziony na wszystkie break pointy niżej czyli tutaj nie mam
ale wyżej będzie już widoczny dokładnie tak jak chcieliśmy.
Jeszcze jedna rzecz jest tutaj do
zrobienia ponieważ w layoucie mamy w momencie gdy przechodzimy do tablet view.
Mamy nagłówek w wyśrodkowany i przycisk oraz caption.
W związku z tym trzeba było przejść do widoku tabletowego.
No i oczywiście flexbox ma taką możliwość
ale zobaczymy jesteśmy teraz wyżej w hierarchii.
Czyli tak naprawdę to powinno być teraz
rodzicem na to byśmy musieli dać flex - a i dla jego dzieci musielibyśmy je wyrównać.
Najprościej jest jednak w tym przypadku
zrobić to w ten sposób że po prostu w tym miejscu włączymy sobie opcję Inline center.
Ona wpływa na wszystkie obrazki i wszystkie teksty na przyciski również w
związku z tym z pomocą tej jednej prostej zmiany uda nam się to zmienić.
Nie musimy przełączać tego na flex.
Gdybyśmy mieli bardziej skomplikowane layot to moglibyśmy przełączyć na flex i dopiero
teraz centrować ale nie musimy tego robić więc cofamy tą zmianę.
Tak czy inaczej ta zmiana spowodowała ponieważ wcześniej nie było żadnych
właściwości zmieniane na DiV blocku spowodowała że została automatycznie utworzona klasa.
W związku z tym to jest ok.
Możemy zmienić jej nazwę na hero header. Zatwierdzić to enterem.
Widzę że trochę zwariował webflow bo teraz akurat
zmienił nazwę tej zagnieżdżonej klasy a tego bloga nie chciał mi zmienić.
Nie wiem dlaczego. Trudno mi powiedzieć ale coś jest nie tak.
No w każdym razie mamy dokładnie tak jak chcieliśmy.
Wszystkie widoki responsywne zrobione
oraz dobrze przygotowaną strukturę layout-u Teraz możemy przejść do stylowania.
Do usłyszenia w kolejnej lekcji.