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.
Część tej lekcji opowiem ci o pozycjonowanie absolutnym czyli generalnie
pozycjonowanie które pozwala na wyrzucenie elementu z jego naturalnego flow.
W tym przypadku nasz kontener tutaj jest
pozycjonowanie na Flex Flex Direction jest to rock i Flex rap zawija te elementy.
Jeżeli one się nie mieszczą w jednym wierszu no ale przy pomocy po zejściu na
ląd możemy wyrzucić te elementy z tego standardowego flow.
I właśnie teraz to zrobimy.
Czyli na dowolnym elemencie.
Powiedzmy że weźmiemy on.
Możemy ustawić ten absurd i to tak naprawdę uruchamia nam
pozycjonowanie absolutne w danym aucie dla tego elementu.
Jak widzimy ten element przeskoczył nam
tutaj na środek prawdopodobnie dlatego że ma automatyczny margines z góry i z dołu.
Gdyby tego marginesu tutaj nie miał to on
by się prawdopodobnie nie pozycjonowania w lewym górnym rogu.
No i generalnie wszystkie pozostałe elementy
zachowały swój normalny flow i przez to brakuje nam tutaj jednej karty
na samym końcu ponieważ mamy już nierówną siatkę
ponieważ w jednym wierszu mieści nam się sześć elementów oparcia a jeden jest poza.
Tym standardowe są więc to co możemy teraz zrobić z tym elementem no to ustawić np.
stop na 0 i w ten sposób ten element zostanie pociągnięty tutaj do góry.
Ale co warto zauważyć to pozytywny absolutnie będzie pozycjonowania się w
stosunku do najbliższego rodzica który nie ma pozycji statek czyli domyślnie jest to
po prostu HTML jest to ród naszego elementu.
Ale jeśli byśmy ustawili pozycję
albo Absolute albo relatywnie na
naszym kontenerze no to teraz ten element będzie równa się do faktycznie tego
kontenera tutaj widzimy ten ciemniejszy box to jest drink Box naszego kontenera
jeżeli ustawiamy sobie grunt na jaśniejszy szarym to faktycznie będziemy widzieli że
teraz pociągnęło nam do górnej krawędzi naszego kontenera.
Jeśli zrobimy tutaj Left zero no to
analogicznie to się ciągnie do lewej strony.
Co warto tutaj zauważyć to to że.
Pozycją absolutnie nie bierze pod uwagę parkingu tzn.
Te elementy nie są w pozycjonowanie biorąc
pod uwagę parking co jest całkiem niezłym zachowaniem ponieważ możemy dzięki temu
wstrzymywać elementy na parking czyli taką bezpieczną strefę danego elementu
i wyświetlać tam rzeczy które powinny być tam wyświetlone np.
jak jakieś krzyżyki przy zamykaniu medali no i cała treść elementu na pewno nie
znajdzie na ten krzyżyk bo tam jest parking.
Natomiast jeśli chcielibyśmy aby ten element był w pozycjonowanie absolutnie
ale chcielibyśmy aby faktycznie respektować ten spadek
no to możemy prostym sposobem użyć CSS Custom Properties.
No i tutaj zdefiniować powiedzmy w naszym.
Przejdźmy do naszego CSS
i tutaj możemy zadeklarować na przykład fort parking oczywiście moglibyśmy to też
zrobić na poziomie pojedynczego kontenera i w sumie może tak zróbmy.
Może nie ma sensu tutaj tych globalnych
naszych steli wpisywać więc ustawiamy sobie tutaj The parking
na 1 rem no i możemy tutaj tego użyć War World parking.
Jesteśmy w stanie teraz użyć tej wartości np.
tutaj czyli War parking i będziemy mieli pewność że ten
element jest wyrównany z respektowania tego marginesu bocznego i Górnego.
I jest to o tyle dobre że faktycznie jeżeli zmienimy te wartości w jednym
miejscu to ten element dalej będzie pozycjonowanie.
W tym miejscu gdzie on się znalazł warto też zwrócić uwagę że ten element jeden
jest teraz nad elementem numer dwa czy jego zakrywa.
Jeżeli ustawiamy sobie indeks
na minus jeden o warstwach też mówiłem w poprzednich częściach tego kursu no to
widzimy że ten element znajduje się dokładnie pod nim.
I co możemy dalej z tym robić.
Oczywiście pozycjonowanie absolutne jest bardzo elastycznym mechanizmem.
Tutaj możemy wrócić do.
Welt parking wystawimy na.
Zero.
żeby tak naprawdę wyrównywać do krawędzi tego elementu.
Piszemy z powrotem na 1.
No i co możemy z tym dalej zrobić.
Na przykład jesteśmy w stanie.
Wycena element w każdej z jego osi
niezależnie od tego jak jest pozycjonowanie czy jest na Flex czy jest
na belce jesteśmy w stanie użyć pozycjonowania absolutnego i ustawić np.
rajd na zero
bo tam na zero czyli wszystkie nasze najmłodsze ustawiamy na zero.
Tutaj to też jawnie napiszemy na zero bez tego Custom Properties.
Zapisujemy i widzimy że ten element rozciągnąć się na całą szerokość.
Aby temu zapobiec możemy ustawić margines auto.
Czyli tak naprawdę z każdej strony będzie automatyczny margines i ten element
nam się tutaj aby zajmować tylko tyle miejsca ile było mu dane.
Zobaczmy dlaczego teraz to tam nie weszło
to left Ride zero absolutny margines auto.
Czy może to być kwestia Flex Box.
Czy może bardziej kwestia tego że mnie
zadeklarowany wysokość i szerokość wydaje mi się że mamy.
Ale sprawdźmy to na.
Być może faktycznie te wartości nie były
zadeklarowany wydawało mi się że je deklarowali.
Natomiast w tym momencie faktycznie widzimy że ten element jest pozycjonowanie
się idealnie w centrum w osi pionowej i poziomej względem tego kontenera szarego.
Nie jest to Nowe pozycjonowanie względem portu czy względem innych kart.
Mamy tutaj absolutne pozycjonowanie
względem najbliższego rodzica który ma pozytywny nie statek.
Czyli tutaj moglibyśmy dać np.
relatywnie i tak samo by to nam zadziałało.
Tutaj pozycja absolutna też nam
ściągnęła ten kontener więc tak naprawdę tutaj relatywnie będzie ok.
.
No i możemy na przykład ustawić sobie Box Shadow ustawione na 10 pikseli.
Rozstrzelania i kolor powiedzmy czarny.
Przesunięcie 0.
I faktycznie widzimy że ta karta teraz nam wystaje ponad inne i możemy takie efekty
robić przy pomocy pozycjonowania absolutnego.
To co warto pamiętać że pozycjonowanie absolutne psuje jakby szyk standardowego
generowania i może być gorszy dla performance u
oraz to że przy użyciu technologii takich jak CSS GRID być może nie musimy już
używać bezpośrednio pozytywny absolwent tylko możemy elementy siatki nakładać na
siebie i w ten sposób symulować dokładnie taką samą sytuację jak tutaj zrobiliśmy.
Absolutnie.
To tylko jedna z wartości które przyjmuję.
Są również styki relatywnie statek
i generalnie samą tą właściwość też można byłoby poznawać naprawdę długo.
Jest też pozytywny fix czyli element
będzie ostatecznie wyświetlany zawsze w tym samym miejscu.
Ale generalnie rozumiejąc pozycjonowanie
absolutne wszystkie inne te właściwości też na pewno będziecie w stanie zrozumieć.
No i będziecie w stanie tworzyć naprawdę dynamiczne.
Z założeniem że faktycznie absolutnie to jest jedyne rozwiązanie danego problemu.
Na pewno nie zachęcam.
Do tworzenia jachtów pixel perfect bazując
tylko i wyłącznie na pozycjonowanie absolutnym czyli tych wszystkich kart nie
powinniśmy absolutnie ustawiać na takiej zasadzie że ten miałby top Left zero.
Ten miałby top zero Left powiedzmy 6 frejmów ten miałby 12 remisów 18 itd itd.
No bo po prostu to się nam rozsypie jak
domek z kart jeżeli którykolwiek z tych elementów usunie atak.
Mamy ładne generowanie i możemy na przykład kilka elementów naraz ustawiać
sobie jeden na drugim i nie będzie z tym najmniejszego problemu
więc po prostu pamiętajmy aby korzystać z narzędzia dostosowano go do problemu.
To wszystko w tej lekcji. Dzięki za uwagę.