od Podstaw
9 godz. 11 min · HTML i CSS · Full-stack i Programowanie
Wojciech PołowniakSr. Fullstack EngineerWeb dev nigdy nie stoi w miejscu - włączając w to CSS. Czołowe przeglądarki różną się implementacją różnych funkcjonalności, a coraz to nowe właściwości wchodzące do specyfikacji są w stanie postawić stylowanie do góry nogami. W tym kursie poznasz przegląd różnych technik i technologii które zmienią Twoje patrzenie na CSSa - zdecydowanie na lepsze! Koniec z tworzeniem hacków w JavaScript aby osiągnąć efekty takie jak wykresy kołowe czy płynne przewijanie. Poznasz też różne właściwości CSS które są w stanie przyśpieszyć Twoją witrynę!
Na pewnym etapie rozwoju jako Front-End developer, bądź wraz z rozwojem naszego produktu - standardowe podejście do CSSa może nie wystarczyć. W tym kursie poznasz 5 ciekawych architektur CSSa, poznasz ich podstawowe koncepty oraz moje opinie na ich temat. Dzięki temu, tworząc swój następny projekt, będziesz w stanie stworzyć architekturę CSSa bazując na sprawdzonych fundamentach.
CSS Grid i CSS Flexbox to właściwości które powinien znać każdy Front-end developer. Jeśli nie chcesz spędzać wielu godzin na poznawanie tych technologii z osobna, w tym kursie znajdziesz podstawowe informacje na temat tych dwóch technologii - w pigułce. Poznasz różnice między nimi oraz dowiesz się, co zmieniło się w nich w ostatnim czasie.
Jeśli borykasz się z problemami wydajnościowymi na swojej stronie internetowej, ten kurs wskaże Ci techniki które pomogą Ci zmniejszyć czas ładowania, jak i ogólną wydajność Twojej witryny - czy to początkowe ładowanie, czy klatkująca animacja.
Czy nie wiesz jak zacząć z preprocesorami? Po co są nam one potrzebne? A może nie wiesz jak wpasowują się w obecne trendy tworzenia stron? Ten kurs odpowie na Twoje pytania! Dodatkowo, dowiesz się jak skonfigurować jeden z najbardziej popularnych preprocesorów CSS, oraz poznasz jego kluczowe funkcje czy składnie.Jako dodatek, dowiesz się jak dzielić Twoje zmienne SCSS wraz z Twoim kodem JavaScript!
Animacje CSSowe są już z nami od lat, ale jak konkretnie się za nie zabrać? Co trzeba zrobić, aby rozpocząć przygodę z animacjami? Jeśli nie wiesz, to w zaledwie kilku lekcjach poznasz narzędzia i składnie do tworzenia przejść i animacji ograniczonych tylko przez Twoją wyobraźnię* (i możliwości CSSa)
Aby móc efektywnie korzystać z tego kursu, powinieneś posiadać średnio zaawansowaną wiedzę z kategorii Front End. Przyda się również umiejętność poszerzania pojedynczych zagadnień na własną rękę, ponieważ wiele z poruszanych w tym kursie tematów można by zgłębiać godzinami. Nie zaszkodzi również podstawowa wiedza o JavaScript. Postaram się wprowadzić Cię w różne obszary CSSa potrzebne w codziennej pracy jako Front-End developer. Doświadczeni developerzy znajdą w tym kursie powtórkę najistotniejszych informacji na temat współczesnego CSSa, jak i ciekawe zagadnienia o których często się zapomina.
Cześć tej lekcji będziemy mówili o różnych trybach wyświetlania.
Brzmi to może tak dosyć źle natomiast.
Będziemy przede wszystkim mówili o
właściwości Display i jej wartościach oraz jakie konsekwencje za sobą niesie Display.
Jest to taka bardzo podstawowa wartość CSS
którą dzięki niej możemy definiować jak dany element ma się rozwiać.
Oczywiście do tego też dochodzą inne właściwości natomiast jest tutaj dużo
takich niewiadomych o których często nie myśli się bo po prostu są dosyć intuicyjne
w przeciwieństwie do mechanizmów takich jak
kaskada.
Domyślnie każdy element HTML ma swój własny Display Mode tzn.
D.W. będą domyślnie stylowe jako elementy blokować.
Czyli tak naprawdę nie jawnie tutaj w tym boksie.
Czy tak naprawdę na każdym piwie jest ustawione Display blok.
Każdy z tych trybów ma swoje
defekty to znaczy na przykład element blokowany zawsze domyślnie rozszerza się
na całą szerokość jeżeli mamy Flow dokumentu.
Taki klasyczny bez żadnych dodatkowych stylów.
Natomiast jeżeli byśmy zmienili tutaj
klasę czy tak tego elementu nas pana są stylowe jako in line tzn.
Jeśli byśmy to napisali sobie jako pana klasa boks dalej zostaje
to widzimy że akurat tutaj ten margines wynika z czegoś innego tutaj mamy po
prostu w Polsce margines ustawiony na klasę boks.
Natomiast problemem jest to że elementy blokował np.
nie mogą mieć swojego marginesu pieniędzy w poziomie po prostu nie mamy
kontroli nad takimi rzeczami nie mamy też kontroli nad ustawianiem ich konkretnej
szerokości tak jakbyśmy się tego spodziewali ponieważ jeśli chcemy to
zrobić to musimy tak naprawdę połączyć dwa różne tryby wyświetlania ze sobą.
Przykładowo jeżeli na body
body ustawiamy tekst line
czyli wyrównywanie tekstu ustawiamy na rajd to widzimy że treść
naszej jedynki została przeciągnięcia w prawo tak samo jak
treść naszego elementu boks który ma teraz znacznik z PAN jako element HTML owy.
No i teraz różnica między tymi dwoma
punktami jest taka że jeżeli ustawiamy sobie może jakiś kolor.
Na tego naszego boksera.
Postawimy mu hołd.
Kolor tutaj używamy Custom Properties.
O tym za chwilę będziemy rozmawiać ustawił Green.
Piszemy
tutaj chyba nie są ustawione.
No to wróćmy po prostu do Ukrainy.
Ręcznie.
No to widzimy że ten element jest tak szeroki jak jego treść.
Natomiast jeśli ustalimy mielibyśmy to na jedynce naszej.
No to widzimy że ten element zajął całą dostępną przestrzeń czyli elementy linowe
w ogóle możemy przesuwać całe poprzez trasy formowanie ich.
Właściwościami takimi jak teksty linę.
Jeżeli ustalimy to na left to element oczywiście będzie wyrównany do lewej.
Treść naszego boksera w tym przypadku naszej jedynki też będzie
przesłuchana ale sam element zajmuje więcej miejsca.
Pomimo tego że różni je tylko tak one zupełnie inaczej się zachowują
ponieważ ten element jest tak szeroki jak cała jego treść.
Natomiast elementy rockowe są
zawsze szerokie na sto procent chyba że faktycznie jawnie im damy inną szerokość
poprzez właściwość no i generalnie różne właściwości.
CSS są przypisywane do różnych znaczników HTML np.
ma domyślnie Display tabel czyli jeśli zmieniliśmy tutaj na tej belce
naszej Display Flex to generalnie nasza tabelka zaczyna wyglądać dziwnie.
Przede wszystkim tego że nie powinniśmy zmieniać domyślną Display dla tabeli.
Wiąże się to z problemami dostępności
ponieważ CSS nie wpływa jedynie na lewo out ale też na to jak dane elementy są
interpretowane tak naprawdę przez samą przeglądarkę.
W związku z czym zmieniając wartość Display tabelki np.
nagroda to częsty
przypadek gdzie niedoświadczeni deweloperzy z czasem
próbują ułatwić sobie życie sterują z tabelki na grilla.
No bo GRID też jest jakby oparty na kolumnach wierszach.
To tak jak tabelki to być może możemy użyć GRID a żeby lepiej sobie oscylować dany
element gdzie dalej zachowujemy teoretycznie dość tabelki.
No niestety tak się nie dzieje.
Zmieniając Display tabelę na Display GRID zmienia się ich schematyczne znaczenie.
W związku z czym nie będą one działały z czynnikami ekranowych.
Być może wyszukiwarki internetowe dalej będą lepiej pozycjonowanie
nasze strony nawet jeżeli tabelka już nie jest tabel tylko siatką.
Natomiast jest to duży błąd i tak naprawdę
w przypadku tabele przynajmniej nie powinniśmy zmieniać nigdy Display a na nic
innego niż tabel i tak samo nie powinniśmy ustawiać Display
tabel na elementy które tabel kamienie są ponieważ ustawiając Display tabel.
Zmieni się to jak elementy będą czytane przez czytniki ekranowych czyli narzędzia
które poprzez głos opisują to co znajduje się na stronie tabelki.
Same w sobie niosą też kilka funkcjonalności które przeglądarka już nam
daje domyślnie więc nie możemy zrobić tabelki na drzewach.
Ustawić sobie tutaj klasę tabel.
Tutaj byśmy musieli sobie ustawić klasę.
No i oczywiście kolejny.
Kolumn.
Jesteśmy w stanie fizycznie ustawić
każdemu elementom dowolną z tych wartości tabel jest prawidłową wartością dla.
Właściwości Display tablet są tak samo.
Tak samo natomiast np.
z poziomu nawigacji klawiaturą.
Te elementy nie są sobie równoważne w związku z czym w kontekście tabeli jak i
trybu wyświetlania polecam zostawiać je tak jak są nie ruszać ich instalować.
Zgodnie z tym jak tabelki należy sterować
natomiast inne elementy takie jak pan czy Vivy które są transparentne czyli
oczywiście możemy im zmieniać display na GRID Flex i zyskiwać tak naprawdę całą
gamę właściwości które działają z tymi trybami wyświetlania.
Czyli jeśli ustawiamy sobie na naszym boksie display na Flex no to oczywiście
wszystkie elementy wewnątrz niego będą ustawiały się za pomocą Xboksa.
Niezależnie od tego jaki mają znacznik
czyli jeśli Tutaj ustawiamy sobie kolejnego diwa bardzo dużo objawów.
Polecam tutaj odwiedzić kurs o dostępności aby wiedzieć dlaczego.
Generalnie należy używać sympatycznych tagów i tutaj dodamy kolejny element.
Tu.
Piszemy to te elementy będą wyświetlane na.
Na flecie i domyślnie Flex ustawia tam różne właściwości typu content Flex start
o tym też będziemy oczywiście mówić w kolejnych lekcjach natomiast teraz dzięki
temu że mamy tutaj Display Flex ustawiony możemy zrobić kontent powiedzmy na.
Prałat.
I zupełnie inaczej nasilające się w tym momencie zachowuje natomiast mamy tę
funkcjonalność tylko dlatego że zmieniliśmy Display danej wartości
w związku z czym Display potrafi zmienić nasz cały lay out.
Nawet jeżeli zmienimy go na jednym elemencie CSS co jest bardzo przydatne
zwłaszcza jeśli tworzymy rozwiązania z Response Web Design na względzie ponieważ
jesteśmy w stanie zmienić tylko jedną właściwość CSS ową często np.
zmienić Display GRID na Display Flex albo po prostu na Display Block I cały nasz DJ
na danej rozdzielczości będzie robił inne kompozycje.
No i będzie po prostu inaczej wyglądał.
Najważniejsze co chciałbym żebyście
wynieśli z tej lekcji to fakt że nie należy czasami zmieniać
Display modów zwłaszcza w przypadku tabeli ponieważ wiąże się to z innymi efektami
ubocznymi takimi jak inne przedstawianie przez script litery
czy inne zachowanie się w kontekście klawiaturą.
No i to że tych trybów wyświetlania jest
naprawdę dużo możemy tworzyć bloki które mają cechy zarówno blok
elementów blok nowych czyli możemy manipulować ich szerokością
wysokością marginesem jak i elementami elementów linowych czyli
że treść zajmuje tak dużo miejsca w szerokości jak dużo jest faktycznie
tekstu wewnątrz niego bądź innych elementów.
Możemy je wtedy też pozycjonowanie przy
pomocy tekst Kleina możemy jeszcze szybko zaprezentować na podstawie box czyli Box
ustawiamy na szybko display na ile blok i przez to że tak zrobiliśmy.
Możemy zarówno pozycjonowanie ten element
za pomocą tekstu Kleina ustawią tutaj tekst na rajd
i w tym momencie ten element cały jako całość został wciągnięty do prawej.
Natomiast możemy ustawiać na nim też hejt czy margines czyli ustawiamy na 10.
Hejt na pięć frejmów.
Grand.
Rebeka.
Tutaj pozbędziemy się literówki.
Piszemy.
No i faktycznie te elementy tutaj się
wyrównały do prawej tekstem no bo na body kierujemy to do prawej.
Ale jeśli byśmy zmienili to na in line no to już to w tym momencie nie zadziała tak
jakbyśmy się tego spodziewali ponieważ nie będzie zaplanowanej.
Wysokości i szerokości.
W tym danym przypadku będzie ona po prostu naturalnie
ustawiona na podstawie tego co dany element ma w sobie bezpośrednio.
I tak naprawdę są bardzo różne wariacje.
Mamy też inna Flex in line GRID bodajże jest też inna Ingrid i tak naprawdę
nie koniecznie powinniście używać innych bloków no bo można to zrobić lepiej np.
za pomocą Xboxa ale warto wiedzieć jakie są dostępne tryby i jakie mają defekty.
To nie jest coś czego musicie się uczyć na pamięć to jest coś co przyjdzie.
Wraz z doświadczeniem po prostu im więcej stron internetowych tworzyć będziecie.