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,
zalążek naszej hero sekcji tutaj już mamy za sobą.
Tak naprawdę teraz zajmijmy się tutaj tymi
ikonkami, które widzimy po prawej stronie na widoku mobilnym.
Czyli wróćmy sobie do naszego edytora kodu
naszej przeglądarki i na pewno będziemy potrzebowali w coś
złapać te ikony, żeby je odpowiednio tutaj wypozycjonować.
Dlatego też potrzebujemy trochę tutaj div'a, dla którego też nadamy klasę absolute.
Dodatkowo po klasie absolute,
bottom 4 też będzie odsunięte o taką samą odległość jak ten element tutaj.
Dodatkowo jeżeli chodzi o
stronę prawą od prawej strony też chcemy odsunąć na 4 razy 4 do 16 w Tailwind'zie
przypominam, że system mierzenia to jest
cztero pixel'owy, czyli wartość right-1 to jest po prostu 4 piksele odległości.
Jeżeli chodzi o right-4 to 4 razy 4 mamy 16
pixeli odległości, no i tabulacją już mogę sobie tutaj zostawić ten element.
Jeszcze co będę potrzebował tak naprawdę
to ustawić mu flex'a żeby te wszystkie ikonki były pod sobą.
Natomiast zanim to zrobimy skopiujmy sobie teraz ikonki.
Ja sobie też je z boku przygotowałem.
To są jakby proste svg,
jeżeli sobie zapiszę, to zauważ, że tutaj już pokazała się ikonka Instagram'a.
Dodatkowo mam kolejne ikonki, które będą
tutaj nam potrzebne w tym projekcie także sobie teraz to skopiuję.
Ty możesz sobie skopiować dokładnie te
same pliki svg, tak naprawdę z plików źródłowego tego kursu widzisz, że
pojawiły się wszystkie ikonki, które mam po prawej stronie tak samo jak tutaj.
Natomiast nie są jeszcze odpowiednio wypozycjonowane.
Tak, że teraz musimy sobie przejść znowu do naszego wrapper'a.
Tutaj na te wszystkie ikony może sobie
zminimalizujemy te pliki svg, żeby nam nie przeszkadzały tutaj.
No i tutaj potrzebujemy ustawić na flex, flex column.
Chcemy je ustawić pod sobą
jakiś gap, prawdopodobnie też będzie nam tutaj potrzebny.
Myślę, że tutaj odległość wielkości gap-4 będzie jak najbardziej w porządku.
No i już w tym momencie nam się ta sekcja też tutaj pojawiła.
Tak? Powinna się pojawić.
Tak samo jest to odsunięte od dołu jak kulka.
Także myślę, że tą część na widoku mobilnym mamy jak najbardziej za sobą.
Sprawdźmy czy tutaj te ikonki one mają
24 na 24 na Figmie, tutaj widzimy na dizajnie.
Sprawdźmy sobie u nas ile taka ikonka ma
też 24 na 24, także myślę, że to możemy sobie na chwilę obecną zostawić.
Dobrze, mamy tę sekcję z ikonami.
Jeszcze musimy sobie wrócić do naszego
header'a, żeby zakończyć całą mobilną historię tutaj.
No to musimy coś zrobić z tym napisem,
żeby miał kolor pomarańczowy, żeby nie było tutaj odstępu.
Tak, że odstęp załatwimy sobie bardzo
prosto, bo tak naprawdę możemy sobie przysunąć do siebie te dwa elementy.
Natomiast z tym kolorem sytuacja jest troszeczkę inna.
Może najpierw zacznijmy od tego, że
odpowiednio sobie wystylizujemy ten napis, czyli class
i w tym momencie ustawimy sobie wielkość tekstu na
troszeczkę większy jednak. 2xl zapisze to sobie.
Dodatkowo potrzebujemy tutaj ustalić font na medium.
Troszeczkę zmieniła się nam grubość tego fontu.
I dodatkowo kolejna rzecz, która będzie nam potrzebna to text
nie chcemy mieć biały, tylko chcemy to mieć ustawione na text zinc-50.
Troszeczkę nam się ściemni tutaj odcień.
I teraz żeby zrobić ten kawałek pomarańczowy możemy sobie tutaj owrapować to.
Wrap with abbereviation span'em.
Czyli jeszcze raz control shift P, otwarłem menu kontekstowe
Visual Studio Code i tutaj wrap with abbereviation i
mogę sobie wpisać span, żeby został ten element owrapowany w span.
Dodatkowo mogłem sobie dodawać klasy, tak jak dodajemy w necie.
Natomiast tutaj w tym momencie ja sobie
skorzystam po prostu z normalnej klasy i tutaj nadamy sobie po prostu text orange.
W naszym przypadku niech będzie to 600.
Myślę, że to jest odpowiedni odcień.
No i już się ten napis widzisz zmienił tak jak powinien być.
Teraz kolejna rzecz, którą potrzebujemy
tutaj za tą h1 no to, tą ikonkę menu, którą mamy po prawej stronie
też będzie z kolei svg, które sobie też przygotowałem tutaj wcześniej no i wkleję.
Mamy tutaj tą ikonkę menu, która jest po prawej stronie.
Jeżeli chodzi o width i height to mamy
ustalone z góry na svg, który jest jednej wielkości tak naprawdę na wszystkich ekranach.
Później przejdziemy do, jakby responsywnego design'u
to sobie odpowiednio ustalimy to, że ta ikonka będzie się przesuwała na środek
takiego header'a, zauważ, że na mobilnej na tablety mamy tą ikonkę tutaj
w tym miejscu. Natomiast chcemy, żeby ona
się przesuwała na środek tutaj tego elementu.
Dobrze myślę, że pierwszą, jakby widok hero dla urządzeń mobilnych mamy za sobą.
Teraz przejdźmy do
responsywnego wystylizowania tego tak, żebyśmy finalnie dostali
przy zmianie różnych breakpoint'ów, żebyśmy dostali tutaj te widoki.
Tutaj pojawia się dodatkowy element.
Jak widzimy na widoku mobilnym tego elementu tutaj nie ma.
I jeszcze jedna rzecz warta uwagi to myślę, że tutaj jest jakaś winieta
dookoła tego zdjęcia, bo póki co jak spojrzymy na to zdjęcie, to ono nie jest
jakoś tak zaciemnione po tej prawej lewej stronie.
Natomiast tutaj widzimy, że wyraźnie, że tu jest jakaś winieta po
prawej i lewej stronie, troszeczkę ciemniejsze to zdjęcie.
Dlatego myślę, że też możemy
za pomocą Tailwind'a stworzyć taką custom'ową winietę.
Skorzystając z styli z gradientów.