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 mówimy o specyfice czyli
mechanizm którym rządzi się CSS który pozwala mu
rozwiązywać konflikty między różnymi sektorami i aplikować te najsilniejsze.
Jak już wspomnieliśmy w temacie wiadomości jeżeli jest kilka źródeł danych czy kilka
tych samych właściwości CSS musi rozwiązać konflikt i aplikować tą
najsilniejszą która powinna zostać faktycznie wręcz kierowana
do ich specyfiki i tak naprawdę dotyczy każdej pojedynczej właściwości której
możemy zapakować do naszej strony w dowolny sposób czy są to style linowe
czy sektory czy sektory w zewnętrznym arkuszu stylów takich jak
CSS. W naszym przypadku.
No i cały ten kod który jest przez nas stworzony jest interpretowany w jednym
głównym spisie i do tego się przydaje żeby aplikować odpowiednie
wartości do tego czyli w tym przykładzie tutaj Books ma
domyślnie kolor pomarańczowy wpisujemy poprzez.
CSS Custom property is o tym też będziemy
oczywiście mówili w kolejnych lekcjach tego kursu.
Jeśli chcielibyśmy zmienić kolor temu elementów poprzez np.
znacznik DF i ustawioną grę na czerwony
to to się nie stanie ponieważ DF sektory
tagów generalnie mają mniejsze specyfice niż sektory klasy.
Zasada jest taka że.
Pseudo elementy
czy sektory bezpośrednio do tagów mają siłę 1 klasy i pseudo klasy mają siłę 10
stylowe po IT czyli bezpośrednio po identyfikator.
Gdybyśmy tutaj sobie nadali ideę
Box i postulowali poprzez
boks to ten kolor oczywiście tutaj wygra niezależnie już jak będzie ułożony w
naszym kodzie źródłowym ustawiamy go na Rebeka.
No i faktycznie nasz element jest w tym momencie fioletowy.
Nie jest to ważne w którym momencie ten sektor zostanie zablokowany czy to jest w
tym pliku czy byłoby to w pliku podstawowym czy na końcu na początku
specyfikacji deklaruje który element wygrywa w tej walce i który element jest
faktycznie wygenerowany która jego właściwości.
Jest jeszcze oczywiście możliwość ustawienia stylu danego elementu poprzez.
Style linowe czyli możemy
na danym elemencie HTML napisać Still i napisać na przykład Ground
powiedzmy na weekend będzie nabierać koloru naszego tekstu.
Natomiast style i linowe wygrywają ze
stylami po idee które swoją drogą style IT można aplikować do kilku elementów.
O ile błędem w HTML u samym jest
stworzenie kilku elementów o tym samym identyfikator że
to CSS nie działa w ten sposób CSS owi możemy faktycznie stworzyć Box number.
Dać mu te same style tak naprawdę które mieliśmy na naszym poprzednim elemencie
i jak widzisz oba z tych elementów są fioletowe w tym momencie
dzieje się tak dlatego ponieważ sektor tak naprawdę nie zwracał uwagi czy
to jest pierwszy element czy drugi po prostu jeżeli dany element pasuje do tego
sektora gdzie tutaj mamy błąd w naszym HTML u ponieważ mamy dwa identyczne
identyfikatory to CSS tak czy siak to rozwiąże więc z punktu widzenia CSS.
Identyfikator nie różni się tak bardzo od klasy poza właśnie specyficzną siecią.
Możemy usunąć ten fragment kodu.
I jest jeszcze sposób jak napisać style
linowe czego oczywiście nie polecam robić chyba że nie macie kontrolę nad daną
biblioteką i musicie coś w jednym momencie.
Jeżeli tutaj ustawiamy sobie grę na
powiedzmy tym razem czarne to powinno być troszkę widać że ciemniejsze od tła.
No i chcielibyśmy to z innego miejsca w
kodzie pisać style linowe mają specyficzne aż 1000.
Nawet jeśli stworzymy sto klas bo możemy
tak swoją drogą kombinować kilka tych samych lektorów na tym samym
elemencie i w ten sposób bijemy specyficzne danego elektora czterokrotnie
możemy w ten sposób zrobić to jest taki trochę hak natomiast jest to całkiem
przydatne w niektórych przypadkach zwłaszcza jeżeli chcemy mieć tzw.
płaską specyficzną kość o tym też będziemy
za chwilę mówić gdy będziemy omawiać narzędzie giganta.
Natomiast nawet jeżeli byśmy zrobili dwa
tysiące takich sektorów klas no to nie przewidujemy specyficzną sieci stylu
linowych czy specyficzne sieci sterowania po IT.
Po prostu jeżeli coś ma z natury większą
wartość specyfice it no to nie będziemy w stanie tego tak
napisać jeżeli byśmy tutaj trzykrotność sektora drzew
to tak czy siak nie przebije on tej klasy ponieważ klasa ma jakby inny poziom.
Najlepiej to będzie zobrazować poprzez faktyczny specyficzny kalkulator.
On się nazywa specyfice.
Gigant mogę odświeżyć.
I tu jest napisane specyfik i kropka kropka to jest obecny link.
Ta strona czasami zmienia swoją domenę
dlatego najlepiej po prostu szukać w wyszukiwarce specjalisty.
Kilian no i wtedy ten kalkulator na pewno się pojawi.
Jeżeli to porównamy to wpisując trzy razy boks tak jak pisałem tak jak już
wspomniałem wcześniej mamy tutaj specyficzna 30.
Natomiast jeśli stworzymy.
Specyficzny gość poprzez idę na boks.
No to mamy już specyficzną historię i teoretycznie jeżeli byśmy zrobili tutaj
nawet 12 specyficzne dzieci to dalej jest ona niżej w warstwie niż idioci czyli tak
czy siak idioci wygrywały by w tym przypadku aby.
Zignorować tak naprawdę cały mechanizm specyfice City i wstawić
dowolny styl jaki chcemy możemy użyć do tego klauzuli important.
I wtedy nawet DF będzie w stanie.
Nad pisać własności CSS owe nadane poprzez
inną instalację czyli jeśli piszemy sobie na koniec Knight important dowolnej.
Wartości CSS owej no to wtedy ten DF będzie czerwony.
Ale co w przypadku jeżeli mielibyśmy kilka sektorów które miałyby klauzule important.
Co ciekawe specyficzne wtedy wraca do gry i jeżeli będziemy mieli np.
drugi Beef czyli dokładnie ten sam sektor o innym kolorze powiedzmy bólu to wtedy
ten niebieski nam wygrywa ze względu na kaskady CSS a co jest dalej w kodzie jest
silniejsze ma większą większy priorytet niż to co było wcześniej.
Jeśli natomiast zmienimy tutaj.
Kot ponownie pozbędziemy się tego important.
No to oczywiście tutaj ten czerwony kolor wróci.
Ustawiamy go sobie na tym małym boksie czyli sterowaniu poprzez identyfikator.
To kolor będzie tym razem fioletowy pomimo
tego że tutaj też jest important i dlaczego ten important jest silniejszy
niż ten jest silniejszy ponieważ ma większe specyfice.
Więc.
Dopóki nie używamy klauzuli important to nasze specyfice IT jest całkiem
powiedzmy kontrolowane ponieważ unikając rzeczy jak celowanie
identyfikatora którego naprawdę nie powinniście robić ja to tylko pokazuje ze
względu na zrozumienie mechanizmu specyficznej sieci czy kaskady.
No to możemy się spodziewać że idioci będą
miały większą wartość i priorytet nad innymi sektorami.
Natomiast gdy wchodzi do gry important to mało że jesteśmy w stanie napisać tyle ile
linowe które też mają aż 1000 tej specyficznej sieci.
No to jeszcze dochodzi problem że jeżeli
ktoś raz użyje tego important i chcemy go napisać no to możemy go napisać tylko
poprzez użycie kolejnego important a o większej specyficzna.
W związku z czym jeżeli połączymy wszystkie te kropki
i dodamy do tego fakt że każdy może zarządzać naszym sukcesem czy poprzez
CMS czyli systemy zarządzania treścią ktoś kto tworzy treści dla naszego bloga
czy strony internetowej typu e-commerce jakiejś landing page
te osoby mogą też tworzyć CSS no i one nie będą zrozumiałe jak CSS działa
stawiały important ponieważ ich style się nie aplikacją a important można to zrobić
no to wtedy tak naprawdę cała strona w tym deweloperzy którzy zajmują się
utrzymywaniem tej strony będą musieli tego imigranta wziąć pod uwagę.
Jeżeli to był important na jakimś genetycznym sektorze czyli np.
drzewie każdy jeden element byłby na
stronie czerwony chyba że nie byłby drzewem to jest jeden warunek
bądź sam miałby innego important w sobie i miałby wyższe specyfice.
Czyli tak naprawdę używanie important no to jest bomba atomowa.
I to jest też ciekawe.
Można znaleźć różne
obrazki w internecie ja tutaj się postaram załączyć je w źródle które pokazują siłę
specyfice IT i porównywanie ich do faktycznie broni.
No i generalnie important jest to po
prostu bomba honorowa która wygrywa ze wszystkim innym po prostu ma taką siłę
rażenia i taki zasięg że ciężko jest z tym walczyć
więc specyfiki kalkulator na specjalistki gigant jest jednym z
dobrych narzędzi żeby po prostu zrozumieć jak działa.
Ale jeśli już mamy projekt który
przez jakiś czas funkcjonuje i być może jest zarządzany przez
konstruktorów przez wielu deweloperów ma dużo Legacy i kodu jesteśmy w stanie
stworzyć taki graf na podstawie całego naszego kodu źródłowego jeżeli mamy dostęp
do jednego pliku CSS to świetna sytuacja po prostu możemy go wkroczyć na
sesji kalkulator Graf i będziemy mieli wykres specyficzny gości
i danych sektorów czyli w odniesieniu do tego gdzie element znajduje się w
naszym kodzie źródłowym czyli im dalej tym dalej w tej osi czasu.
Im wyżej tym ma większe po najechać myszką na dane
wartość wykresu no to widzimy który sektor ma dla tej specyficznej sieci
no i widzimy że w tym przypadku największe specyficzne 221 czyli na
szczęście nikt nie korzystał z żadnego important stylów nowych
natomiast jest to naprawdę skomplikowany sektor ponieważ po pierwsze zbieramy coś z
bazy nie wybieramy elementu który jest obecnie usuwany itd itd.
Są natomiast dwa sterowania pojedynku które też ciężko będzie napisać ale być
może z dobrego powodu tak tylko dla testów możemy dodać jakiś genetyczny sektor.
I ustawić mu Belgrad na important i zobaczymy czy to coś
zmieniło chyba nie zmieniło tak naprawdę nam.
Naszego.
Tutaj stylu reklamy tego pliku.
Kalkulator chyba się nie odświeża albo po prostu inaczej liczy.
Natomiast trzeba pamiętać że
gdy do gry wchodzi important to tak naprawdę musimy go important już zwalczyć.
Dobrą praktyką jest tworzenie bardziej generycznych sektorów takich jak tutaj na
przykład jest gwiazdka na samym początku naszych arkuszy stylów.
I te bardziej skomplikowane przesuwać na sam koniec będziemy o tym też mówić gdy
będziemy omawiać różne architektury CSS takie jak S czyli inwentarz internet go
CSS którego pomysłodawcą jest Harry Roberts i generalnie specyfice IT.
Czy Kaskada.
Gość Czy dziedziczenie są mechanizmami które musimy zrozumieć
zanim będziemy pracować z koncertami bardziej skomplikowanymi takimi jak
abstrakcyjna architektura czy różne procesory kodu.
Zachęcam cię do eksperymentowania z danymi
narzędziami i być może wrzucenie tutaj swojego kodu aby sprawdzić jak wygląda
twój gra w specyficznej sieci dla twojego projektu.
Być może dzięki temu będziesz łatwiej w
stanie zweryfikować elementy kodu które będą potrzebowały autoryzacji i koniec
końców Twój projekt będzie bardziej zarządzany.
To wszystko w kontekście podstawowych mechanizmów CSS a przejdźmy teraz do
faktycznych wartości i właściwości które mają szeroko sięgające efekty uboczne.
W kontekście tego jak nasz out jest
prezentowany do zobaczenia w kolejnej reakcji.