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ęść w tej lekcji opowiem o World Change
czyli takim hicie po rajdzie dla przeglądarki kiedy
dane elementy mają dostać więcej zasobów aby zostać animowane.
Tutaj mam taką animację którą celowo zrobiłem na dosyć mało wydajną i docelowo
to kółko będzie miało rozmiary 100 na 100 gramów.
Domyślnie ma 6 na.
No i Borderlands jest równy połowie tych wartości.
I to się dzieje na Hoovera czyli jeżeli
jedziemy na ten element no to widzimy że ta animacja troszkę się przecina no i
jeżeli z niego jedziemy to ona wróci do tej początkowej wartości.
Generalnie oczywiście można to zrobić lepiej ja nie polecam w ogóle animowana
rzeczy takich jak Hyde czy Borderlands już Borderlands może czasami trzeba ale jeżeli
jest opcja tego uniknąć na przykład za pomocą Transformers trans latte czy
Transformers Krall No to jak najbardziej powinniśmy korzystać z tych właściwości.
Ale jeśli mamy sytuację że faktycznie jesteśmy na wolnym urządzeniu i te
animacje muszą być takie ja tutaj sobie spowolni w zakładce performance.
Nasz zespół co prawda to prawdopodobnie
nie zmieni wydajności tej animacji ponieważ animacje CSS owe z reguły są
robione na GPW natomiast wydaje mi się że czasami może to troszkę przeskoczyć.
No i to co robi na to pozwala nam
powiedzieć przeglądarce które właściwości będą się zmieniały w najbliższym czasie.
Czyli jeśli piszemy hejt czy Porter Darius
no to wskazujemy widzowi że te właściwości w najbliższym czasie będą się zmieniały.
Co to oznacza. Oznacza to że nie możemy tej właściwości
podawać bo wtedy to zawsze będzie starało się przekierować zasoby dla tych
właściwości dla tego konkretnego elementu serce.
A jak wiemy jeśli wszystko
ma dodatkowe zasoby to tak naprawdę nic z tych dodatkowych zasobów nie ma.
Staramy się przyśpieszyć wszystko i kończy
się nam pamięć czy kończy się nam zasób na GPW czy na GPW.
W związku z czym powinno być używane bardziej programowo tzn.
Np.
przy pomocy skryptu możemy ustawić za pomocą skryptu wylicza.
W momencie kiedy wiemy że animacja za
chwilę się wykona i po tym jak ona się wykona ustawić walczyć na nowo.
Czyli jeśli sobie ustawiamy
na taką wartość PO.
Jakimś Action pojęcie który faktycznie uruchamia
no to możemy.
Później tą animację wyłączyć za pomocą
will change on czy and set w zależności od potrzeby możemy dać jej
różne właściwości ale tego nie powinniśmy pisać w samym cs.
W związku z czym
generalnie musiałem tutaj o tym wspomnieć bo jest naprawdę potrzebną sytuacją
zwłaszcza jeżeli te właściwości
które nie czujemy już faktycznie nam są no to wtedy jest faktycznie dobrym
rozwiązaniem ale nie powinniśmy używać go do tzw.
przedwczesnych optymalizacji czyli jeżeli
wydaje nam się że coś tutaj może kiedyś no to wtedy nie dajemy no bo jeżeli
nam się wydaje to znaczy że nie jesteśmy pewni jeżeli
widzimy że na danym urządzeniu animacja wygląda źle wtedy możemy dać milczenia i
to tylko w tym momencie kiedy ta animacja się wywołuje.
Powinniśmy zdjąć tak szybko jak ta
animacja się skończy no i tutaj ja polecam generalnie to źródło.
Jest cała lista opcji jakie możemy tutaj podać np.
skroplony z szyn auto czy pojedyncze właściwości CSS.
No i nie powinniśmy tego łączenia
aplikować do zbyt wielu elementów tak jak wspomniałem tutaj MdM też to podkreśla.
Powinniśmy używać tego.
Tylko kiedy jest potrzebne czyli włączać i wyłączać dynamicznie za pomocą skryptu.
Nie korzystać z wyliczeń CBA jeżeli
faktycznie nie ma żadnego problemu z performance na stronie.
No i generalnie elementy złącza mogą
wyglądać troszkę inaczej ale jeżeli faktycznie mamy już problem z performance
em no to tak czy siak myślę że tutaj bardziej pomoże niż zaszkodzi.
W związku z czym warto dodać że jest taka właściwość CSS.
Czy korzystać tworząc zwykłe jachty ze zwykłą animacją np.
na Transformer skale zamiast takich właściwości generalnie.
Hit czy Left Right nie powinniśmy animowanych bezpośrednio są do tego inne
właściwości takie jak Transformer trans lat czy jeżeli
chcielibyśmy żeby ten element był troszkę wydajniejsze no to możemy tutaj zamiast
kremów zrobić po prostu sytuację taką że ustalimy sobie Transformer.
Skala 0 1 przepraszam bo 0 to generalnie
nie będzie już widać tego elementu możemy zaprezentować.
Transformers 0 3 nie zmniejszył tego elementu do zera
a zmniejszył tylko trochę wyłączył odświeżenie jeszcze raz takie że
jest zero no to wskazujemy go do zera czyli element niewidzialny.
Jeżeli jest jeden to to jest jego domyślną wartość ale jak np.
tutaj piszemy powiedzmy 100.
Czyli będzie 100 razy większy element
to faktycznie mamy tutaj całe niebieskie kółko i to możemy sobie zrobić na rowerze.
Czyli domyślnie jest jedynka wtedy
tranzytowym Properties to jest tylko i wyłącznie transport w którym możemy
robić naprawdę dużo rzeczy już bez żadnego problemu.
No i ta animacja powinna być o wiele mniejsza niż była.
Może zróbmy ją 10 razy większą niż 100.
I faktycznie widać że jest to troszkę lepsze
i nie ma tutaj żadnych problemów z anty leasingiem.
Może przy samym skanowania czasami to
wyglądać gorzej ale będzie o wiele wydajniejsze w kontekście GPW
i generalnie tego jak CSS będzie na całej stronie zreformował.