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.
Kolejna sekcja, na której skupimy swoją uwagę to będzie sekcja opinii.
Tutaj mamy tylko jeden przykład.
Prawdopodobnie gdyby ta aplikacja była w miarę dynamiczna, no to moglibyśmy tutaj mieć
dodatkową logikę, która przełączałaby poszczególne opinie lub automatycznie by
się przełączały po jakimś czasie z jakimś delay'em.
Natomiast my tutaj chcemy tylko i
wyłącznie zaimplementować statyczny design, który wygląda
praktycznie tak samo na wszystkich ekranach.
Opinia jest wyśrodku tylko na desktopach.
Na dole mamy dwie strzałki, które przełączają to. Tak, że
przejdźmy sobie teraz do implementacji, do naszego edytora kodu.
Sekcje z naszymi services możemy zminimalizować.
Sekcje z projektami też sobie zminimalizujemy.
I tutaj, w references mamy naszą nową sekcję div.
I już w tym momencie możemy sobie zacząć z tego względu, że tu będzie wyśrodkowane.
Możemy sobie container ustawić i mx-auto,
czyli w takim przypadku wszystko co w środku tutaj będzie wyśrodkowane.
Dodatkowo potrzebujemy tego pierwszego elementu z napisem, który też powtarza się
w naszej sekcji, natomiast tutaj będą referencje.
Tak, jaki tu mam design? Nie, opinię.
Mamy opinię, czyli wróćmy do edytora kodu.
Opinie i tekst, który musimy tutaj wkleić.
Posłuchaj, co innym dała moja pomoc.
I tutaj wklejamy ten tekst.
Zapisujemy to.
Już w tym momencie pojawiła się nam sekcja naszych opinii.
Teraz musimy przejść sobie do implementacji
pojedynczego elementu, pojedynczej opinii, czyli owrapujemy go sobie.
Najpierw, przyjrzyjmy się najpierw jego budowie.
Otóż na górze mamy gwiazdki, potem mamy jakiś tekst z opinią. Na dole
tutaj mamy też jakiś element z jakimś awatarem
użytkownika, który wydaje opinie i na dole mamy nawigację w postaci dwóch strzałek.
Zacznijmy sobie od implementowania tych 5 tutaj gwiazdek w naszym bloku, czyli div.
Tutaj będą nasze gwiazdki.
Ja sobie już gwiazdki przygotowałem.
Jest tutaj star-svg. Jeżeli sobie to skopiuję to 5 razy mogę teraz wkleić 2, 3, 4, 5.
Mamy 5 gwiazdek wklejonych w
nasz div. Ja sobie je wszystkie
zminimalizuje, żeby one nam przeszkadzały, bo de facto będą wyglądały tak samo.
Natomiast tutaj na nasz wraper wokół tych
gwiazdek, no żeby je ustawić w jednym rzędzie używamy flex'a, żeby je od siebie odsunąć.
No to wystarczy nam tak naprawdę gap ustawiony na 2.
Już w tym momencie powinniśmy mieć gwiazdki ustawione koło siebie.
Dobrze, to mamy pierwszą rzecz.
Gwiazdki mamy za sobą.
Teraz potrzebujemy jakąś opinię,
czyli prawdopodobnie paragraf z tekstem, który sobie skopiujemy tutaj z naszej Figmy.
I do naszego edytora kodów wkleimy
nasz tekst. Jeszcze sprawdzimy tylko wielkość tego tekstu.
Jest 16 medium, czyli nie musimy nic zmieniać.
Kolor jest taki jaki jest wszędzie.
Przejdźmy teraz do implementowania tutaj tego awatara użytkownika.
Czyli kolejny element to znowu będzie div, który opakujemy sobie.
Na pewno będziemy potrzebować tutaj nasz
obrazek z awatarem, czyli zrobię sobie najpierw element div i image
na razie zostawię to tak jest. I poniżej
tutaj kolejnym elementem, który będziemy
potrzebować to będzie imię, nazwisko i pozycja.
Czyli zróbmy sobie h3
i skopiujemy sobie imię i nazwisko tej osoby Linda May i pozycja
może być też paragraf frontend developer.
Zapisujemy to sobie.
Sprawdźmy na naszej stronie jak to na razie wygląda.
Na razie musimy sobie to wszystko tutaj, prawda, oscylować.
Potrzebujemy obrazka, ja który sobie teraz
wyeksportuje, zapisze w dodatkowych materiałach do tego kursu.
Już u mnie pojawił się obrazek Linda,
czyli tutaj mogę się już odnieść do images i pliku Linda png.
To sobie ostylujemy.
Sprawdźmy, jaką szerokość i wysokość ma ten wraper 44.
Czyli w naszym przypadku możemy ustawić to width height na 10.
Zapiszemy sobie relative position, overflow hidden.
I tutaj jako klasa width full, height full.
Absolut inset-0.
Object-cover.
I możemy sobie zrobić aspect
square rounded-full, żeby zaokrąglić ten obrazek w całości.
I już w tym momencie nasz awatar powinien być odpowiednio wyświetlony.
Potrzebujemy teraz w miejscu, w którym mamy ten awatar, czyli
tutaj, gdzie zamykamy to wszystko, musimy sobie ustawić flex'a i gap na 2.
Na razie, żeby te dwa elementy były ustawione koło
siebie, wszystko to będziemy musieli wyśrodkować.
Czyli jak mamy tutaj cały div na naszą
opinie, klasę możemy sobie zrobić flex, flex-column, items-center.
Już wyśrodkowaliśmy całą naszą opinię.
Za chwilkę sobie podsuwamy wszystkie elementy.
Natomiast najpierw skupmy się na wystylizowaniu jeszcze imienia i nazwiska i pozycji.
Tu możemy sobie zrobić jeszcze full, żeby te elementy zawsze były tutaj na środku.
I przejdźmy sobie do zobaczenia.
Jaką czcionką mamy tutaj 16 semibold roboto Linda May.
Przejdźmy sobie do naszego designu.
Linda May Font semibold.
I to był zinc
600. To nie jest tak naprawdę ta czcionka,
którą używam w całej aplikacji i jeżeli chodzi o pozycje jest regular
14, czyli tutaj class-text-sm prawdopodobnie będzie 14.
Tak.
Zobaczmy sobie na desing.
No już wygląda to dużo lepiej, na to Linda May ten
kolor jednak jest troszeczkę ciemniejszy, tak, że wrzućmy sobie tutaj 800.
Możemy sobie to dokładnie tak naprawdę sprawdzić tutaj.
Jaki jest kod tego 3f, 3f, f46.
Przejdźmy do naszej aplikacji i sprawdźmy
jaki teraz mamy kod, naszego koloru.
Dla tego elementu 27272A, czyli
będzie to prawdopodobnie 700 tutaj.
Dobrze, mamy odpowiedni kolor, już na imię i nazwisko.
Teraz potrzebujemy wyśrodkować ten tekst tutaj, czyli class-text-center.
Wyśrodkowaliśmy tą opinię.
No i potrzebujemy teraz wszystkie rzeczy od siebie odpowiednio odsunąć.
Jako że mamy jeden główny wraper na to wszystko, który jest tutaj.
No to możemy wykorzystać gap i 4, żeby podsuwać od siebie wszystkie te elementy.
Dobrze, poniżej opinii potrzebujemy
nawigację do tego widget'a całego, związanego z opiniami.
Czyli tutaj też robimy sobie div, no i potrzebujemy dwa obrazki svg.
Mamy akurat arrow left, arrow right czyli w tym momencie sobie skupimy lewą strzałkę.
I tak samo musimy sobie skopiować prawą strzałkę.
Zapisujemy to sobie i ustawimy sobie te elementy tutaj.
Flex gap ustawimy dosyć duży pomiędzy
tymi strzałkami na początku 32, items-center.
Sprawdźmy już jak to wygląda.
Jeszcze zobaczymy sobie czy odległości są w porządku.
Myślę, że jest ok.
Tylko teraz musimy sobie jeszcze justify na center ustawić.
Tak?
No już mamy nawigację wyśrodkowaną.
I kolejna rzecz to przydałoby się jakiś padding na top.
Zostawmy go na razie na 4, żeby odsunąć to od całej reszty.
Myślę, że wygląda to jak najbardziej ok.
Sprawdźmy teraz większe ekrany.
W jaki sposób wygląda nam tutaj ta opinia?
Myślę, że na tym ekranie troszeczkę ten tekst jest jednak za szeroki.
Także możemy go spokojnie ograniczyć, tak, żeby on był bardziej czytelny.
Wróćmy sobie do naszego tekstu, który jest
tutaj w naszej opinii.
Mianowicie nasz paragraf.
Który mamy tutaj i ustalimy mu na max. Width
Na tak, żeby tekst był czytelny w miarę.
Ustawmy na 672 pixele. No już jest dużo lepiej.
Myślę, że można to przeczytać i teraz na ekranie dużym.
Też tutaj sekcja opinii myślę, że wygląda w miarę akceptowalnie.
Sprawdźmy nasz design.
Jak to wygląda na dużym ekranie.
Myślę, że jeszcze możemy znacznie
ograniczyć szerokość tego, tak żeby było to ta praca z Danielem to była przyjemność.
I myślę, że możemy sobie jeszcze bardziej ograniczyć szerokość tego elementu.
Tak że wróćmy, zobaczmy naszą stronę, jak ona wygląda.
Jest troszeczkę jednak za szeroki ten elemet.
Wróćmy tutaj sobie do naszego p i do max width i ustalmy to na xl.
Sprawdźmy.
No myślę, że dużo lepiej, dużo bardziej czytelny jest ten element.
Teraz można przeczytać.
I jeszcze warto byłoby odsunąć te
strzałki troszeczkę od siebie, bo jak zobaczymy design, to jednak one są znacznie bardziej od
siebie odsunięte. Sprawdźmy te odległości na małym ekranie.
Ta odległość to jest ok.
80 pixeli, czyli musimy zrobić tutaj gap na 20.
Sprawdźmy jeszcze większe ekrany.
Jak to wygląda tutaj.
Tu jest dwa razy większa ta odległość.
Myślę, że tutaj jest to samo. Tak? Tak.
Czyli 20 na ekranach md i musimy ustawić ten gap na 40.
Tutaj mamy gap pomiędzy tymi strzałkami.
Tak.
Potrzebujemy go ustawić na 20 a na md gap na 40.
Zapisujemy to sobie.
Sprawdźmy jak to już wygląda.
No już wygląda to dużo lepiej na naszym.
Na naszej stronie jeżeli przejdziemy sobie na widok mobilny.
To też to się troszeczkę zmniejszyło.
Na widok na ekrany desktopowe.
Mamy już sekcję opinii za nami.
Myślę, że teraz kolejna rzecz, na której możemy się skupić no to będzie
footer i to pozwoli nam zakończyć taką bazową implementację tego design'u.
Potem przejdziemy sobie przez wszystkie
sekcje i sprawdzimy, czy niczego po drodze nie udało nam się zepsuć.
Jeżeli coś zepsuliśmy postaramy się to naprawić.