Tworzenie Responsywnych Stron Internetowych
2 godz. 33 min · HTML i CSS · Full-stack i Programowanie
Daniel NoworytaFull stack DeveloperZacznijmy od przedstawienia projektu, który razem zbudujemy podczas tego warsztatu. Będziemy pracować nad stworzeniem nowoczesnej, responsywnej strony portfolio. Podczas budowania strony, zapoznam Cię z podstawowymi i zaawansowanymi funkcjami TailwindCSS, które pomogą Ci w efektywnym projektowaniu i stylizowaniu Twojej strony.
Zanim zaczniemy kodować, ważne jest, abyś miał dobrze skonfigurowane środowisko do pracy z TailwindCSS. Przeprowadzę Cię przez proces instalacji i konfiguracji TailwindCSS w Twoim projekcie. Pomoże to zrozumieć, jak TailwindCSS jest zbudowany i jak można go dostosować do swoich potrzeb.
Sekcja hero to wizytówka Twojej strony, więc ważne jest, aby była ona atrakcyjna i responsywna. Nauczę Cię, jak zaimplementować sekcję hero, która rozciąga się na całą wysokość i szerokość ekranu. Omówimy różne techniki, takie jak używanie tła obrazu, dodawanie ikon czy efektów obracania i zaznaczania tekstu.
W dzisiejszych czasach, gdzie ludzie korzystają z różnych urządzeń do przeglądania internetu, ważne jest, aby Twoja strona była responsywna i wyglądała dobrze na wszystkich typach urządzeń. Dowiesz się, jak korzystać z podejścia mobile first przy projektowaniu strony, co pomoże Ci zoptymalizować doświadczenie użytkownika na wszystkich rozdzielczościach ekranu.
Klasa container w TailwindCSS jest potężnym narzędziem, które pomaga w zarządzaniu układem Twojej strony. Przeprowadzę Cię przez różne sposoby korzystania z klasy container, aby uzyskać optymalny układ i design dla Twojej strony. Dowiesz się, jak zarządzać marginesami, paddingami, a także jak używać containera do tworzenia układów siatki.
Ten warsztat jest dla początkujących programistów, którzy chcą nauczyć się projektowania stron internetowych przy użyciu TailwindCSS. Idealny dla junior-deweloperów, oraz dla wszystkich, którzy chcą zrozumieć i wykorzystać moc nowoczesnych frameworków CSS.
Dobrze. Kolejna część naszej strony to jest sekcja o mnie.
Pierwsza rzecz jeżeli zastanawiasz się, skąd biorę te wszystkie odległości, które
wpisuję w stylach, to wszystko to jest po prostu mierzone.
Patrzę sobie tutaj na design, który został dostarczony
i mierzę sobie odległość po prostu z tej strony do tej i widzę, że to jest 16 pixeli, czyli
prawdopodobnie margin, padding na najmniejszych ekranach to jest 4.
Jak przejdziemy sobie tutaj na większe ekrany, to już ten padding jest dużo większy.
Też można sobie to zmierzyć 123/124.
Mniej więcej na tej zasadzie
przenosimy design od designera jakby na implementację w postaci kodu.
Teraz skupmy się teraz na tym pierwszym elemencie.
Jak widzisz, ten header jakby jest podobny elementem do tego, co mieliśmy tutaj w
kontakcie, czyli prawdopodobnie będziemy mogli skorzystać z podobnej zasady, którą
mieliśmy tutaj przy tym elemencie, czyli stworzyć sobie
trzy elementy dwie kulki, jeden ten napis i na tej samej zasadzie będą wyglądały
wszystkie nasze header'y w naszych, w naszych podsekcjach, na naszej stronie.
Czyli przejdźmy do zaimplementowania teraz tej sekcji o mnie.
Wróćmy sobie do edytora kodu. Mamy naszą stronę.
Na razie widzisz, że próbuję scrollować.
Po prostu nie ma nic na niej więcej.
Mamy tylko ten header.
I przejdźmy sobie tutaj, poniżej.
I możemy sobie to podpisać, tak naprawdę.
Tutaj mamy naszą sekcję header, czyli
dla czytelności tego pliku później w późniejszym development'cie.
Przejdźmy teraz na about me.
No i zaczniemy sobie implementację tego kolejnego elementu.
Tutaj wprowadzimy sobie nową klasę, mianowicie container.
Jest to bardzo przydatna klasa Tailwind'owa.
Otóż pomaga ona pozycjonować odpowiednio elementy na stronie internetowej.
Jak sobie teraz wezmę tak naprawdę tabulacją to zakończę.
Zauważ, że ta klasa przyjmuje zawsze jakby
minimalną szerokość na kolejnym break poincie.
Jest to bardzo przydatne z tego względu,
że możemy reagować w jaki sposób elementy się zachowują, jaką mają szerokość ogólną
i mało osób wie, ale tę klasę container też możemy sobie modyfikować czy to w config'u
natomiast, bo minusem jej jest generalnie, że musimy ją zawsze środkować.
Na chwilę obecną ona nie ma, nie jest wyśrodkowana.
Sobie tutaj wpiszę: Hallo. Ten napis tutaj jest w tym miejscu.
Nawet jak sobie zwiększę tutaj tą stronę na większą to mamy napis w tym miejscu.
Natomiast jeżeli chcemy wyśrodkować ten element, no to korzystając tutaj z klasy
mx-auto i w tym momencie już ten element zostanie wyśrodkowany w tym miejscu.
Ten padding to jest ta odległość, dlatego
dla tej wielkości ekranu i my sobie zostawimy ten element wyśrodkowany.
Tam w środku sobie będziemy musieli wrzucić kolejne rzeczy, które będą nam potrzebne
do tego, żeby odpowiednio wystylizować całą resztę.
My tak naprawdę będziemy potrzebowali
bardzo podobny element, który mieliśmy tutaj w naszym headerze.
Mianowicie chodzi tutaj o ten element z kontaktem.
Przejdźmy do naszego header'a i tutaj mieliśmy ten div z item'sami.
Czyli możemy sobie tak naprawdę skopiować ten div z tymi dwoma pomarańczowymi kulkami
i być może będziemy mogli sobie go użyć tutaj na dole.
Generalnie gdybyśmy korzystali z framework'a to wszystko można by
wydzielić do osobnych komponentów.
Natomiast ten kurs jest to kurs wprowadzający do Tailwind CSS.
Chciałem Ci pokazać jak szybko możesz coś zbudować w stronę
portfolio w czystym HTML'u używając właśnie Tailwind'a, i jak sobie skopiuję ten kontakt
to już mam element, sobie skasujemy klasę hidden.
No to już powinien być widoczny.
Oczywiście kontakt jest pisany
tutaj zinc-500
dlatego tak sobie, usuniemy tą farbę
to już ten kontakt jest tutaj, musimy zmienić na o mnie.
Mamy podobny element który był wcześniej, no ale nie jest on wyśrodkowany.
Musimy go odpowiednio wyśrodkować.
Jako że mamy tutaj item center i to jak najbardziej pasuje.
Natomiast potrzebujemy jeszcze justify center.
No już w tym momencie napis o mnie został wyśrodkowany.
Jeżeli chodzi o te kulki to one są, muszą
być większe niż te, które się pojawiały na dużym ekranie, które mamy tutaj.
Mianowicie te kulki są tutaj,
one mają wysokość, szerokość 12, natomiast ta przy kontakcie.
Jeżeli sobie zobaczymy dokładne wymiary no to było 4 na 4.
Czyli tak naprawdę trzy razy większe są te tutaj przy tych
header'ach, nawet na widokach mobilne, bo potem one też jakby się zwiększają.
Tutaj już mają 20 na 20 pixeli.
Zacznijmy od tych, czyli tutaj te mają 16, czyli potrzebujemy tak naprawdę width
na 4, na 3, 12 pixeli mają tak? Czyli width na 3 i hight też na 3 ustawić.
I przejdźmy sobie tutaj do tych jedynek.
Ustawimy sobie to na trójki.
W tym momencie już kulki powinny nam urosnąć.
Jeszcze potrzebujemy ten napis odpowiednio zwiększyć.
Napis powinien być text-4-xl czyli tutaj 4xl.
Zapiszemy sobie, już na naszej stronie napis o mnie też się zwiększył.
Potrzebujemy jeszcze jakieś padding'i i margin'y.
Na to wszystko nałożyć sobie. Zrobimy sobie margines na bottom.
Jeżeli chodzi o te elementy, które są w tym wraperze, ja sobie
przesunę tą stronę na tą stronę, żebyśmy widzieli dobrze jak to wygląda.
I tutaj mamy ten element, który wrapuje nam ten heading.
Tak. I tutaj możemy sobie już ustawić
na bottom na 4, żeby odsunąć to wszystko od dołu strony.
Od następnego elementu, natomiast też będziemy potrzebowali na padding na nasz
container, czyli tutaj jako domyślny ustawimy sobie na 4.
Już nam to też się odsunęło tutaj od góry i też
warto wiedzieć, że teksty też tutaj będą odsunięte od prawej i od lewej strony.
Kolejna rzecz, której będziemy potrzebować
to ten nasz tekst, czyli możemy go owrapować w jakiegoś div'a.
I w tym momencie ja sobie tutaj skopiuję
po prostu ten tekst, który pokaże nam się na naszej stronie.
No już mamy jakiś tekst tutaj pokazany.
Przejdźmy sobie na widok mobilny.
Zobaczymy sobie jak to wygląda na widoku mobilnym.
Póki co jest wszystko w porządku, zdjęcie też środkuje się tak jak się powinno
środkować. I tekst też jest odpowiednio odsunięty od krawędzi.
Myślę, że tak naprawdę widok mobilny chyba mamy z głowy.
Na chwilę obecną, możemy przejść teraz do
implementacji responsywnej, natomiast zobaczmy czy tutaj też wszystko jest ok.
Myślę, że tak.
Tutaj też mamy style już odpowiednio zrobione.
Teraz przejdźmy do implementacji na ekranach medium.
I zaczniemy od tego, że tekst musi się zwiększyć, bo jeżeli sobie tutaj zobaczymy
na wielkość tekstu, to mamy 18 pixeli na ekranie mobilnym.
Jak przejdziemy sobie już na ekran.
Na tablety mamy 24 pixele, natomiast na ekranie głównym też 24, czyli musimy
powiększyć czcionkę od break point'a medium w naszym przypadku.
Przejdźmy do edytora kodu w takim razie i to, co odpowiada tutaj za wielkość tekstu.
Możemy powiedzieć ten główny container.
Możemy go ustawić, że tekst ma być lg troszeczkę nam się zwiększy ten tekst.
Tutaj zobaczmy tą czcionkę.
Ile ona ma pixeli?
18. Czyli musimy sobie tutaj zostawić tak naprawdę
domyślny tekst, niech będzie taki, jaki jest.
Natomiast od medium chcemy zrobić text-xl.
No i w tym momencie na ekranach mobilnych został text wartości 16.
Natomiast jak przejdziemy już na ekrany na tablety, no to już text się
odpowiednio zwiększa, jest bardziej czytelny.
To samo mamy na dużym ekranie, natomiast tutaj będziemy musieli wprowadzić
oczywiście to zdjęcie i kontakt e-mail, tak jak to mamy na naszym designie.
Tutaj za chwilę wprowadzimy ten element, natomiast najpierw zaczniemy.
Zajmijmy się tym, żeby wystylizować dokładnie ten element.
Tutaj on ma odstępy dużo większe.
I tutaj możemy sobie sprawdzić jak to wygląda.
Myślę, że możemy ustawić max width tego
elementu od ekranów medium, żeby też nie rósł za bardzo.
W tym momencie też dostaniemy właśnie taki efekt jak mamy tutaj, czyli tą maksymalną
szerokość tego tekstu, którą mamy w tym miejscu.
Także przejdźmy do naszego wrapera, który zmienia text na xl na ekranie medium.
Tak samo możemy sobie zmienić padding na ekranie
medium, bo też na pewno jest większy i też możemy zmierzyć, zmienić sobie
tą wielkość tekstu jest xl, jest
myślę, że możemy zostawić i dodatkowo
zwiększymy sobie na large:max-w zrobimy sobie na 5xl, żeby to nie rosło w nieskończoność nam.
No już w tym momencie też uzyskaliśmy właśnie taki efekt na ekranach
na tabletach, który też odsuwa ten tekst znacznie od lewej i prawej krawędzi.
Myślę, że to na chwilę obecną na sekcję o mnie wystarczy.
Dodatkowo musimy teraz wprowadzić ten
trzeci element, który jest elementem tego obrazka,
który pozwoli nam pokazać ten obrazek, który mamy na designie.
Na ekranach desktop'owych mamy dodatkowy obrazek.
Mamy taki divider, który jest tutaj.
I tutaj też mamy ikonkę maila i adres e-mail.
I to zamknie nam tę sekcję o mnie.