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.
W tej lekcji z kursu zaawansowane techniki
CSS będziemy mówili o problemach co czasem można to podzielić na kilka punktów.
Generalnie CSS jest trudny można z nim faktycznie szybko zacząć pracować.
Nie jest jego ciężko nauczyć.
Jako że ma dosyć składnia intuicyjna mamy nazwy właściwości jakby grał czyli z
angielskiego po prostu to wartość na przykład red.
Czyli kolor to jest ta intuicyjna część CSS.
Natomiast ma on niestety swoje problemy
zwłaszcza jeżeli chodzi o skanowanie czy generalnie zarządzanie nim
przez nas deweloperów a i sam język też ma niestety swoje pułapki.
W związku z czym. Jakie są np.
problemy samego CSS.
Jak wspomniałem jest on dosyć prosty do
nauczenia się ze względu na to że jest dosyć jawny.
Opisujemy jaką właściwość chcemy zmienić na jaką wartość.
No i to się faktycznie dzieje w większości przypadków.
Gorzej jeżeli faktycznie już zaczynamy z
tym jest czasem pracować tworzyć nasze strony nasze strony rosną no to wtedy.
Mechanizmy takie jak kaskada dziedziczenie czy specyficzne elektorów
mogą być problematyczne jeżeli faktycznie nie rozumiemy ich tylko po prostu
zaczęliśmy hodować CSS a no bo całkiem prosty język wydaje się
natomiast te mechanizmy są właśnie dosyć skomplikowane.
O tych mechanizmach będziemy oczywiście mówili w tym kursie
i jest on dosyć luźny to znaczy że nie mamy dobrej kontroli nad nim.
Nie ma czegoś takiego jak na przykład stricte CSS.
Jeżeli zrobimy jakiś błąd wcale postawimy
gdzieś ile średnich po prostu stworzymy tzw.
zero czyli błąd dniowy.
Nie będzie to łatwe.
Nie ma jakby żadnego domyślne kompilator
dla CSS a który nam faktycznie powie że na linii C 73 jest błąd i generalnie ten błąd
powoduje problemy z naszym autem że coś nam źle skończyło.
Oczywiście są do tego narzędzia które my jako społeczność stworzyliśmy żeby łatwiej
pracować z sensem ale sam język w sobie takich mechanizmów nam nie dostarcza.
Co wiąże się właśnie z tymi problemami ze skalą.
Nie musimy tutaj tworzyć wielkich serwisów wielkich koncernów które będą obsługiwały
setki tysięcy klientów aby doświadczyć tych problemów.
Przede wszystkim dlatego że CSS jest ogromnym drzewem zależności.
Jeżeli będziemy ładowarki plik a
do naszego HTML a i plik B będzie konflikt np.
klas czy po prostu elektorów prostych takich jak DVI wszystkie trzy czy
wszystkie impulsy no to CSS musi sobie jakoś z tym poradzić
ponieważ cały ten kod źródłowy jest naraz interpretowany przez przeglądarkę nie ma
czegoś takiego jak skopiowane CSS czyli kapitulacja tego kodu nie jest możliwa.
Domyślnie w samym CSS oczywiście
są do tego narzędzia ale koniec końców tak czy siak cały.
CSS Object Model jest skomplikowany jako
całość w związku z czym mogą zdarzyć się sytuacje że zmieniamy
jedną wartość jednego elektora no i niestety element w naszym drzewie którego
byśmy się nie spodziewali też ulega zmianie.
To oczywiście jest błędem jest Bogiem
który my musimy ręcznie odnajdywać i naprawiać jako deweloperzy.
Do tego dochodzą niespójności w implementacji.
Na pewno jeżeli zajmowały się CSS em w przeszłości no to jakby praca nad
kilkoma środowiskami w tym wypadku przeglądarki
Opera Internet Explorer Firefox com było tego jeszcze oczywiście więcej potrafiły
być naprawdę duże i jeżeli coś wyglądało dobrze na Krymie zupełnie nie znaczyło że
nasz auto jest kompletny ponieważ problemy z CSS em były na tyle
szerokie w kontekście samej implementacji przez przeglądarki po prostu były banki
które musieliśmy ręcznie jakoś obchodzić i tworzyć markę Randy
czy używać tak naprawdę właściwości CSS owych niezgodnie z ich przeznaczeniem bo
po prostu CSS nie był jeszcze na tyle dojrzałym językiem żeby.
Pozwolić nam osiągnąć niektóre efekty.
Błędy specyfikacji tak naprawdę miałem tutaj na myśli.
Nie mniej intuicyjne niektórych rozwiązań
w specyfikacji ponieważ część właściwości może wyglądać
jak funkcja może być rozdzielona przez przecinka albo przez stację.
Nie ma tutaj jak ciężko się odnaleźć po prostu w kodzie
która właściwość ma jaki synteza jaką ma składnia.
Zwłaszcza że przeglądarki tak naprawdę mogą komplementował własne rozwiązania
które dopiero później wejdą do specyfikacji.
Do tego dochodzą problemy nasze
deweloperów czyli po prostu brak dokumentacji.
I tutaj nie mówię już konkretnie o
dokumentach CSS a lecz bardziej dokumentację naszych projektów.
Często jest tak że każdy z nas może edytować CSS a to znaczy
my deweloperzy kontra aktorzy których faktycznie nasza
firma zatrudnia jako dodatkową siłę roboczą która po prostu będzie nasze.
Landing page edytor działa w sposób szybki
czy nawet designer czy edytor treści.
Również często mają dostęp do CSS a czy to lawinowo czy nie lawinowo.
W związku z czym CSS bardzo łatwo może się posypać jak domek z kart.
Do tego dochodzi komunikacja taka że
często nie chcemy rozumieć całego naszego kodu źródłowego CSS
lecz bardziej podchodzimy do tego muszę dodać nowy komponent.
Ok więc dodam na koniec mojego pliku źródłowego HTML
nowy arkusz Stelli z którymi ja będę pracował ja je będę rozumiał i one będą
oczywiście czystsze niż ten kod który był tam już wcześniej.
Jeżeli przez projekt przedziera się kilku
deweloperów i każde z nich zrobi takie podejście no to projekt po prostu ma
10 20 różnych podejść gdzie każdy pisze te style inaczej i jakby nie ma tutaj tego
wspólnego języka jakiejś hali jakiejś klasy czy klasy pomocniczych.
No i do tego dochodzi właśnie to że CSS jest pozornie prosty więc mamy tutaj chęć.
Manipulacji tego co przez każdego.
Oczywiście jeżeli nie znamy tych
mechanizmów no to to się często źle kończy.
Jakie są rozwiązania tych problemów.
Przede wszystkim my jako społeczność
stworzyliśmy różne architektury i metodologię CSS a.
Są Atomic fajne są be my są SE.
Mamy procesory języków takie jak SAS czy.
Les Bleus możemy zrozumieć te mechanizmy
języka o których już wspomniałem wcześniej czyli.
Kaskada dziedziczenie i specyficzna w ten sposób możemy faktycznie mniej narażać się
na te niepewne grunty CSS a i przede wszystkim korzystać z dobrych
praktyk są pewne patenty które też my wypracowaliśmy sobie.
Jakich właściwości unikać żeby nie mieć problemów z wydajnością naszego kodu.
Jakich problemów unikać żeby nasz klejnot
nie rozpada się jak wspomniany wcześniej domek z kart.
I o tym wszystkim postaram się opowiedzieć w tym kursie a przynajmniej skierować cię
na dobrą drogę i wskazać dodatkowe źródła których będziesz mógł korzystać na własną
rękę gdy faktycznie będziesz tworzył swoje własne projekty.
Tak więc tyle teorii przejdziemy do
praktyki i tłumaczenia faktycznych mechanizmów CSS a w następnej lekcji.