< Return to Video

Edytowanie klas CSS

  • 0:01 - 0:06
    Poprzednio pokazałam, jak ustawić
    style w JavaScript - w ten sposób.
  • 0:06 - 0:09
    Chcąc zrobić
    dużo stylów w JavaScript,
  • 0:09 - 0:12
    wpiszecie kilkaset wierszy kodu
  • 0:12 - 0:15
    z wartościami własności CSS.
  • 0:15 - 0:18
    I JavaScript się zatka.
  • 0:19 - 0:21
    Jest inny sposób.
  • 0:21 - 0:23
    Możemy stworzyć klasę CSS
  • 0:24 - 0:28
    i dodać do niej regułę CSS z nowymi
    stylami, które chcemy wprowadzić.
  • 0:28 - 0:32
    A potem wpiszemy
    nazwę klasy w JavaScript.
  • 0:33 - 0:37
    Zacznijmy tutaj, od tagu "style"
  • 0:38 - 0:39
    i wypróbujmy to.
  • 0:39 - 0:46
    Zrobimy klasę "catcolors"
    (kolory kotów) i regułę CSS.
  • 0:46 - 0:48
    Będzie tam: "color: orange"
  • 0:48 - 0:52
    i "background-color: black".
  • 0:54 - 0:59
    Żeby przypisać to
    do elementu "heading", damy:
  • 0:59 - 1:03
    "headingEl.className"...
  • 1:03 - 1:06
    "= catcolors".
  • 1:07 - 1:12
    I skasujmy przypisanie koloru
    oraz koloru tła w JavaScript.
  • 1:12 - 1:15
    Ha! Udało się.
  • 1:16 - 1:17
    Zauważacie coś dziwnego?
  • 1:17 - 1:21
    Atrybut HTML do nazw klas
    to po prostu "class".
  • 1:21 - 1:24
    Gdybym robiła to w HTML,
  • 1:24 - 1:27
    musiałabym napisać:
    class="catcolors".
  • 1:27 - 1:31
    Ale w JavaScript trzeba było
    napisać: "className".
  • 1:31 - 1:34
    Do tego nie jesteśmy przyzwyczajeni!
  • 1:34 - 1:39
    Robimy to, bo "class" jest słowem
    kluczowym w języku JavaScript
  • 1:40 - 1:43
    i ma szczególne znaczenie.
  • 1:43 - 1:47
    Z tego powodu
    przeglądarki używają "className",
  • 1:47 - 1:52
    by odnieść się do atrybutu klasy
    w HTML, żeby nic się nie pomyliło.
  • 1:53 - 1:56
    Pamiętajcie: chcąc ustanowić
    atrybut klasy elementu,
  • 1:57 - 1:59
    piszecie ".className=".
  • 2:01 - 2:05
    Żeby przypisać to
    każdej z nazw zwierząt,
  • 2:05 - 2:09
    możemy umieścić to w pętli:
    "nameEls[i]."...
  • 2:09 - 2:13
    "className = "catColors".
  • 2:14 - 2:16
    To doda nazwę klasy,
  • 2:17 - 2:22
    ale usunie wszelkie klasy,
    które były tu wcześniej,
  • 2:22 - 2:24
    bo napisaliśmy "=".
  • 2:24 - 2:29
    Jeśli więc były tu przedtem
    jakiekolwiek klasy, teraz ich nie ma.
  • 2:29 - 2:34
    Klasy były: "class=animal".
    Zmieniło się to w "catColors".
  • 2:34 - 2:38
    Tak naprawdę chcemy dodać
    nową nazwę klasy
  • 2:38 - 2:41
    do tego atrybutu klasy.
  • 2:41 - 2:47
    Możemy to zrobić, pisząc:
    "+= catColors".
  • 2:48 - 2:49
    Gotowe.
  • 2:49 - 2:54
    To bezpieczny sposób, bo program
    bierze nazwę poprzedniej klasy,
  • 2:54 - 2:57
    dodaje spację i nową klasę.
  • 2:59 - 3:05
    W nowszych przeglądarkach zrobimy to,
    używając własności "classList".
  • 3:05 - 3:08
    Piszemy zatem: "nameEls[i]"...
  • 3:08 - 3:12
    ".classList"...
  • 3:12 - 3:15
    ".add("catcolors")".
  • 3:16 - 3:20
    Teraz jest ładniej,
    ale nie działa to wszędzie.
  • 3:20 - 3:24
    Jeśli chcecie tego używać,
    wejdźcie na "caniuse.com" i sprawdźcie,
  • 3:24 - 3:28
    czy program obsługują przeglądarki,
    z którymi ma współpracować wasza strona.
  • 3:28 - 3:32
    To ładniejsze, ale nie jest miło,
    gdy strona się zacina,
  • 3:32 - 3:36
    bo używacie funkcji,
    o której nie wie przeglądarka.
  • 3:37 - 3:38
    Zlikwiduję to.
  • 3:38 - 3:42
    Niech moja strona współpracuje
    z wieloma przeglądarkami!
  • 3:42 - 3:46
    Często chcemy zmieniać
    style poszczególne,
  • 3:46 - 3:48
    zamiast przypisywać nazwy klas.
  • 3:48 - 3:54
    Powtarzam: pamiętajcie,
    że macie oba te narzędzia.
  • 3:54 - 3:59
    Decydujcie, które bardziej się przyda
    w konkretnej sytuacji.
Title:
Edytowanie klas CSS
Description:

To tylko zapis naszych interaktywnych sesji poświęconych kodowaniu, stworzony by ułatwić ich przełożenie na inne języki. Polecamy obejrzenie tych sesji bezpośrednio pod adresem: https://pl.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
04:00
Lech Mankiewicz edited Polish subtitles for Changing CSS classes
Dominik Kamiński edited Polish subtitles for Changing CSS classes
Dominik Kamiński edited Polish subtitles for Changing CSS classes
Dominik Kamiński edited Polish subtitles for Changing CSS classes

Polish subtitles

Revisions