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ść! W tej lekcji opowiem o fallback styles'ach,
czyli tak naprawdę stylach, które są aplikowane jako fallback,
jeżeli dana wartość nie jest tutaj wspierana.
Tak naprawdę nie będę tutaj mówił jeszcze o Supports czy Autoprefixach,
czy po prostu prefixach, ponieważ skupię się tylko i wyłącznie na
tym jak CSS działa i generalnie nadpisuje reguły, których nie rozumie.
W tym przykładzie stworzyliśmy sobie
prosty div - sekcję z tekstem, która zawiera w sobie dwa elementy:
jedno to jest "Hello world!", to jest to, co widzimy na ekranie,
no i drugie to jest "I'm still here!", które jest
ukryte wizualnie za pomocą specjalnej klasy visually-hidden.
To jest taka bardzo popularna klasa w kontekście dostępności,
natomiast jest ona dobra do wytłumaczenia generalnie idei fallback styles-ów.
Tutaj widzimy, że jest dla
reguły clip dwa razy wpisana wartość. Jedna jest specyficzna dla Internet
Explorera 6 i 7, natomiast następne są dla pozostałych przeglądarek.
No i dlaczego to generalnie w ten sposób działa?
Bo jeżeli CSS natrafi na linijkę, której nie rozumie, czy na wartość, której nie
rozumie dla właściwości, którą zna, ona zostanie po prostu zignorowana.
W związku z czym na początku dajemy te najbardziej
specyficzne, konkretne zasady, które będą działały na wąskiej gamie
urządzeń, czyli zostaną zaaplikowane na wąskiej gamie urządzeń, a dalej dajemy te
ogólne, lepiej wspierane wersje składniowe czy po prostu wartości,
które zostaną i tak złapane przez nowe przeglądarki, ponieważ to zostanie nadpisane
tak samo jak byśmy stworzyli po prostu dla tego naszego diva regułę background red,
no to oczywiście tak długo jak jest tutaj ten red
no to ten box będzie czerwony, natomiast
jeżeli dodamy poniżej linijkę blue, no to ten red-czerwony został zignorowany.
Dlatego też nowe przeglądarki ignorują po prostu tę wartość, bo tę rozumieją.
Czyli jeżeli nasza przeglądarka nie rozumiałaby background blue z jakiegoś powodu,
no to wtedy background red by tak czy siak było zaaplikowane. I tego typu fallback styles są
używane tak naprawdę wszędzie. Jestem pewien, że widzieliście takie reguły,
na przykład przy prefixach danych przeglądarek, czy
po prostu właśnie w takich helper classach jak np.
visually-hidden, czy innego typu, które po prostu
muszą działać na jak najszerszej gamie produktów,
w związku z czym
mamy tutaj tą duplikację reguł i wartości różnych. I nie jest to nic złego,
to jest naturalna część
jakby tego jak przeglądarka działa i jak sieć w kontekście stron WWW
działa w chwili obecnej, a konkretnie CSS.
Niektórzy mogą spytać "a po co w takim razie to tutaj
zamieszczać, jeżeli nie interesuje nas IE6, IE7". Oczywiście nie musimy.
Natomiast jeżeli naszym wymaganiem jest wspieranie starszych przeglądarek, no to
takie sztuczki CSSa też się korzysta z nich.
Oczywiście ma to swój jakiś impact, czyli
skutek co do wydajności, ponieważ, po pierwsze, ta reguła musi zostać, każda linijka
musi zostać przeinterpretowana przez silnik CSSa kilkukrotnie, no bo tutaj ta
reguła zostaje tak naprawdę wyrzucona na wszystkich innych przeglądarkach. Jest to
naprawdę mikro skala, więc prawdopodobnie nie musicie się tym przejmować.
Prawdopodobnie można zaoszczędzić o wiele więcej wydajności w innych miejscach.
Natomiast jeżeli faktycznie IE6, IE7 nie jest
nam potrzebne, to możemy się tej linijki pozbyć.
A nawet jeżeli ta linijka musi tutaj zostać, no to
kompresja GZIP czy Brotli w tym momencie tak czy siak sprawi, że te dwie
linijki zostaną skompresowane naprawdę wydajnie i tak naprawdę nie będzie tutaj
dużej różnicy bajtów w końcowym k-loadzie, który zostanie wysłany do przeglądarki.
Więc to, co chciałbym żebyście wynieśli z
tej lekcji, to przede wszystkim to jak działa CSS, czyli CSS,
to co wspominałem na początku tego kursu,
będzie nadpisywał reguły w zależności od tego, gdzie one będą w kaskadzie,
w zależności od tego specificity, bądź po prostu w zależności od source orderu
i dlatego fallback styles dajemy w taki, a nie inny sposób,
ponieważ rozumiemy ten mechanizm i chcemy wykorzystać go na naszą korzyść.