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.
Jest jeszcze jedna rzecz, o której
ostatnio zapomnieliśmy jak implementowaliśmy ten widok mobilny.
Otóż ten napis.
Kodowanie to moja pasja,
nauczanie to moja misja.
Wielkość 32 semibold.
Przejdźmy do naszego edytora kodu i tutaj,
gdzie mamy tą sekcję services, mamy pierwszy nagłówek.
Mamy później kolejno te nasze elementy.
Myślę, że tutaj pod spodem możemy zrobić sobie
paragraf, znowu wkleić ten tekst i jako, że widzimy tutaj nauczanie, to moja misja
musi być wystylizowane inaczej możemy sobie skorzystać ze span'a, który pozwoli
nam dodatkowe style narzucić tylko na ten kawałek tekstu tutaj.
Zapiszemy to sobie i klasa
potrzebujemy text to będzie xl
32 mamy 36 pixeli 30 pixeli.
Możemy skorzystać z klasy Tailwind'owej, możemy też wpisać też arbitrary value
może skorzystamy tym razem z wartości dokładnie tak, jak designer nam przekazał.
Text 32 pixele font-semibold.
Zapiszemy to sobie już w ten sposób.
I tutaj jeszcze potrzebujemy text, czyli klasa text na orange-600.
Przejdźmy do naszej strony internetowej.
Sprawdźmy jak to tutaj wygląda.
Jest wszystko ok z tym problemem, że musimy jeszcze sobie to
wyśrodkować ten tekst i sprawdźmy jeszcze raz, czy rzeczywiście.
Tak myślę, że wygląda to dobrze.
Padding'i możemy jeszcze znacząco tutaj powiększyć sobie w tym tekście, żeby on
bardziej się jednak odsuwał od tych boków, tak jak to mamy w naszym designie.
Przejdźmy sobie tutaj do naszego i px
ustawimy jeszcze dodatkowo na 24 pixele.
To powinno nam sprawić, że jeszcze więcej potrzebujemy, zróbmy 10.
W tym momencie mamy, podobnie jak na naszym designie, kodowanie
to moja jest w pierwszej linii.
Natomiast w naszym przypadku jeszcze co
bym zrobił to wypadałoby padding top ustalić na 4, żeby odsunąć
jednak ten napis od całej reszty i padding bottom też na 4.
Czyli generalnie rzecz biorąc padding na y możemy sobie ustalić na 4.
Dobrze, przejdźmy teraz do widoku
na tablety jeszcze raz szerokość takiego widoku.
W naszym przypadku to jest tutaj
744 pixele, czyli nasza przeglądarka tutaj.
Musimy sobie ją ustawić na 744,745 pixeli.
No już to jest ten breakpoint, który mamy.
I w tym momencie możemy zacząć sobie od kodowania tych pojedynczych elementów.
Jak widzimy, nie wygląda to jak na designie.
Design pokazuje nam tutaj, że te elementy raczej powinny być wyśrodkowane.
Powinny być dalej pod sobą, natomiast
powinny być dużo mniejsze tutaj i zaczynać się z lewej strony, nie być wyśrodkowane.
Tak, że myślę, że zaczniemy sobie najpierw od tego.
Wróćmy do naszego edytora kodu.
Ja sobie troszeczkę edytor kodu teraz
zmniejszę, żebyśmy widzieli zmiany, które tutaj wprowadzamy. No i zaczniemy sobie od
wedytowania tych tutaj elementów.
Musimy nadać im maksymalne width, tak żeby to nie było za szerokie.
Czyli zaczniemy sobie od pojedynczych elementów, które mamy tutaj w naszym flex'ie.
Prawdopodobnie możemy sobie tutaj nałożyć
max-width i to już powinno nam zrobić efekt, którego chcemy uzyskać max-width
jak sobie ustawimy na lg i sprawdźmy w jaki sposób to już nam zmieni te elementy.
No jeszcze jest za duże, zróbmy sm.
Już jest dużo lepiej. Natomiast musimy sobie mx
auto i nie zapominajmy o tym, że jesteśmy tutaj już w breakpoint'cie.
Czyli bardzo dobrze byłoby skorzystać
tutaj jednak z tych przedrostków. Jeżeli chodzi o przedrostki.
Myślę, że sm będzie tutaj lepszym rozwiązaniem.
Na widokach mobilnych jak sobie zmniejszymy tą
przeglądarkę to powinniśmy wrócić do starego wyświetlania.
Czyli teraz jak zwiększamy
to tutaj ograniczamy jakby szerokość tego elementu.
Wróćmy jeszcze tutaj do implementacji tego pojedynczego elementu.
Jak wiemy te teksty nie powinny być wyśrodkowane, w tym przypadku.
Czyli jak mamy nasz div, który wyśrodkowuje nam tutaj
ikonkę, to jest wszystko w porządku jeżeli chodzi o ten widok.
Natomiast co nie jest w porządku, to to, że ten tekst tutaj jest wyśrodkowywany.
Tak, my chcieliśmy,
musimy się tego tutaj pozbyć.
Spróbujmy najpierw tutaj
text left.
Czy to w ogóle coś zmieni nam?
Póki co to nic nie zmieniło, dlatego, że
ustawiamy na całym tutaj wrapie items-center.
Czyli prawdopodobnie co sobie byłoby najlepiej zrobić, to obudujemy
sobie tutaj te dwa teksty, nad którymi chcemy mieć większą kontrolę.
Mamy dodatkowego div'a zapiszemy, Sprawdźmy czy to się, no i już
zobacz, że web development jest tutaj po lewej stronie.
Już ten tekst nie jest na środku.
Tutaj przez to, że mamy text-center możemy sobie już wrzucić tutaj ten modyfikator
sm-text-left już to też nam przesunie ten tekst na lewą stronę.
Padding też musimy skasować z lewej strony, czyli sm-pl
na 0 też już nie mamy pudding'u i całość tutaj class flex items-center.
Justify też
na center ustawimy sobie. Natomiast oczywiście flex-column.
Jeszcze chcemy, żeby te teksty były, prawda,
pod sobą. Jusify-center.
Oczywiście błąd z naszej strony powinno być start tutaj i items też start.
Chcemy to przesunąć na lewą stronę, tylko jak mamy justify-center, justify-start nie
potrzebujemy w tym przypadku. No i potrzebujemy teraz zastosować to,
to samo, ten sam stylowanie do kolejnych elementów.
Czyli to był element numer 1. Sprawdźmy,
najpierw stosowaliśmy tutaj na wraper, na element klasy sm.
Czyli to jest nasz tutaj element.
Owrapowanie tych dwóch tekstów tutaj to
też potrzebujemy wrap with abbreviation, div
i tutaj też skopiujemy sobie tak naprawdę klasy, które mieliśmy
w tym przypadku możemy wkleić.
Tutaj też skopiujemy klasę, text 2xl jest wszystko w porządku i tutaj ta klasa,
którą też zmodyfikowaliśmy dla paragrafu, też musi zostać skopiowana.
Tutaj już zaczyna to nam się wyświetlać
w sposób dużo bardziej prawidłowy, taki jak byśmy sobie chcieli.
I podobna rzecz, którą musimy też zrobić,
będzie dla tego elementu tutaj w środku, czyli otwórzmy sobie tutaj ten element.
No i tak samo analogicznie potrzebujemy najpierw skopiować te główne
modyfikatory.
Tutaj też gap 8 sobie ustawimy, żeby troszeczkę odsunąć te elementy od siebie.
I kolejną rzeczą, którą potrzebujemy, to tak jak wcześniej wrapujemy sobie teksty.
Mamy ten div.
Kopiujemy sobie klasy tutaj z tego miejsca.
Już przesuwa nam się to tutaj.
No i p też, tak naprawdę dla paragrafu możemy sobie skopiować tutaj te wszystkie klasy.
Żeby ułożyć tak, jak byśmy chcieli, też tutaj.
No i tutaj ten napis. Sprawdźmy sobie.
Jeżeli chodzi o nasz design, no to kodowanie to moja pasja
powinno się kończyć w jednej linii.
U nas to jest zupełnie inaczej. Tak, że
możemy teraz przejść do tego napisu,
kodowanie to moja pasja i na sm możemy ustawić max width.
600 będzie tutaj dobrą wartością.
No i też sm text-center.
Natomiast mamy tu już ustawiony
text-center, mx-auto, żeby wyśrodkował sobie ten tekst tutaj w całym naszym kontenerze.
Myślę, że też dobrze byłoby jednak
zwiększyć tutaj ten padding, który mamy py na wartość dwa razy większą niż to było
wcześniej, tak żeby odsunął to troszeczkę od tych naszych tutaj serwisów.
I z tego co widzę, tutaj też mamy różnice w odległościach.
Sprawdźmy skąd ona nam się bierze.
Jeżeli chodzi o wraper na nasze teksty to mamy tego div'a tutaj.
To jest nasz drugi element. Oferujemy indywidualne konsultacje
gdzie są,
gdzie jest większy ten wraper.
Sprawdźmy px-4, gaps na 8 ustawiliśmy których nie powinniśmy zmieniać.
Generalnie jest na 4 ustawione. Dobrze.
Widok na tablety dla usług mamy już za sobą.
Sprawdźmy jaka to jest, jaki tu jest design.
Myślę, że można by zdecydowanie też
pokusić się o to, żeby sprawdzić jaka tu jest wielkość czcionki.
Tu mamy 16, czy to jest to samo, to samo.
Nic się nie zmieniło 24/24.
Czyli to są tak naprawdę te same.
Nie zmieniamy żadnej wielkości czcionki.
Tutaj moglibyśmy pokusić się o to, żeby zwiększyć te odległości pomiędzy tymi
elementami, na tym widoku, bo jednak one troszeczkę urosły w porównaniu do widoku
mobilnego. Przejdźmy sobie teraz do zaimplementowania tej logiki. Jako że mamy
tutaj nasze wrapery na cały ten element, to możemy jak najbardziej sobie go
przesunąć. Drugi element padding top na 4 przesunął się nam troszkę w dół.
Myślę, że to jeszcze jest jednak za mało.
Pamiętajmy o modyfikatorach to jest tylko na ekranie na tablety.
I w takim razie weźmy sobie 2 razy większą wartość i to samo zrobimy dla ostatniego
elementu, żeby też go jednak przesunąć tutaj sobie w dół.
No i już ta odległość między tymi elementami się nam znacznie zwiększyła.
Jeszcze przejdźmy do ostatniego tekstu i padding na y ustawimy na
16, żeby jednak oddzielić ten tekst od całej reszty tutaj tej sekcji.
Na dużych ekranach też nie wygląda to
jakoś tragicznie, natomiast musimy sobie zmienić sposób wyświetlania tych elementów.
Przejdźmy teraz do implementacji
jakby ostatniego widoku tego, tych usług w widoku na duże desktopy.