Return to Video

Animating styles with CSS animations (Video Version)

  • 0:01 - 0:05
    No dobrze. Pewnie zastanawiacie się,
    czy używać "setInterval",
  • 0:06 - 0:09
    czy "requestAnimationFrame"
    do swoich animacji...
  • 0:09 - 0:13
    A ja dorzucę do tego
    jeszcze jedną możliwość.
  • 0:14 - 0:17
    Widzicie, w Chrome,
    Firefoksie i IE10+
  • 0:17 - 0:21
    jest sposób w CSS, żeby robić animacje
  • 0:21 - 0:24
    bez użycia JavaScript.
  • 0:25 - 0:27
    Usuńmy kod,
    który właśnie napisaliśmy
  • 0:28 - 0:31
    i wypróbujmy to
    do animacji Koleżki-O-Nie.
  • 0:31 - 0:37
    Umieszczę tu długi komentarz
    z wielu linii. Wokół tego wszystkiego.
  • 0:37 - 0:40
    Najpierw dodamy do strony tag "style".
  • 0:41 - 0:45
    A potem dodamy coś,
    co wygląda jak reguła CSS,
  • 0:45 - 0:48
    ale to definicja naszej animacji.
  • 0:48 - 0:50
    Piszemy "keyframes",
  • 0:50 - 0:54
    a potem nazwę animacji, "getbigger",
  • 0:55 - 0:56
    oraz klamry.
  • 0:57 - 1:01
    Żeby zrobić prostą animację,
    przechodzącą od 1. stanu do 2.,
  • 1:01 - 1:06
    określimy stany "from" i "to".
  • 1:07 - 1:12
    Wewnątrz "from" zapiszemy, jaka
    powinna być początkowa własność CSS.
  • 1:12 - 1:16
    Pamiętacie,
    że początek ustawiliśmy na 50 pikseli?
  • 1:16 - 1:21
    Wewnątrz "to" napiszemy,
    jaka powinna być właściwość końcowa.
  • 1:21 - 1:25
    Tutaj może to było 300 pikseli.
    Przy tym kończyliśmy, pamiętacie?
  • 1:26 - 1:30
    Po zdefiniowaniu animacji
    musimy powiedzieć przeglądarce,
  • 1:30 - 1:33
    który element
    powinien z tej animacji korzystać.
  • 1:34 - 1:38
    Zatem dodamy
    normalną regułę CSS dla Koleżki.
  • 1:39 - 1:42
    Tutaj określimy nazwę animacji...
  • 1:44 - 1:46
    to "getbigger"...
  • 1:47 - 1:52
    potem wpiszemy czas trwania animacji,
    czyli trzy sekundy.
  • 1:53 - 1:55
    Zależy, której używacie przeglądarki.
  • 1:55 - 1:59
    Niektórzy z was mogą myśleć:
    "Pięknie, to działa!".
  • 1:59 - 2:03
    Użytkownicy przeglądarek takich jak
    Safari lub Chrome nie widzą efektu.
  • 2:03 - 2:08
    Z powodu tzw. prefiksów dostawców.
  • 2:10 - 2:14
    Czasami przeglądarka obsługuje
  • 2:14 - 2:16
    jakąś nową, wyrafinowaną opcję,
  • 2:16 - 2:19
    do której dokłada się
    prefiks dostawcy,
  • 2:19 - 2:22
    by wskazać, że to się może zmienić.
  • 2:22 - 2:26
    W ten sposób przeglądarki
    wypróbowują nowe opcje.
  • 2:26 - 2:29
    Aby to działało w Chrome
    (o ile jeszcze nie działa),
  • 2:29 - 2:34
    musimy powtórzyć to, co zrobiliśmy,
    a z przodu dać webkit.
  • 2:35 - 2:38
    Musimy więc powtórzyć tę część
  • 2:38 - 2:41
    i umieścić webkit tutaj.
  • 2:42 - 2:45
    A tu powielimy to
  • 2:45 - 2:50
    i damy -webkit-, -webkit-.
  • 2:50 - 2:51
    O, pięknie!
  • 2:52 - 2:55
    Teraz Koleżka rośnie
    w każdej przeglądarce.
  • 2:55 - 2:58
    Mam nadzieję,
    że kiedy oglądacie ten film,
  • 2:58 - 3:00
    prefiksy nie są już potrzebne.
  • 3:00 - 3:02
    Ale dobrze wiedzieć, że istnieją,
  • 3:02 - 3:06
    bo mogą się wam kiedyś przydać
    do jakiejś innej opcji.
  • 3:08 - 3:12
    W CSS jest jeszcze jeden sposób
    na robienie animacji,
  • 3:12 - 3:14
    związany z właściwością "transition".
  • 3:15 - 3:18
    Mówi ona przeglądarce,
    jak łagodnie przejść
  • 3:18 - 3:21
    od jednej właściwości do drugiej.
  • 3:21 - 3:25
    Powiedzmy, że chcemy,
    by czcionka pozostałego czasu
  • 3:25 - 3:28
    rosła, gdy najedziemy na nią myszką.
  • 3:28 - 3:30
    Moglibyśmy zrobić to w JavaScript,
  • 3:31 - 3:33
    przypisując listę zdarzeń
    dla "mouseOver";
  • 3:33 - 3:35
    potem "requestAnimationFrame",
  • 3:35 - 3:38
    by zwiększać właściwość
    "rozmiar czcionki".
  • 3:38 - 3:43
    Możemy też to zrobić także
    całkowicie w CSS. Pomyślmy.
  • 3:43 - 3:48
    Jak normalnie zwiększyliśmy czcionkę
    w CSS, w związku z ruchem myszki?
  • 3:49 - 3:51
    Np. za pomocą reguły "hover".
  • 3:51 - 3:54
    Piszemy "#countdown:hover"
  • 3:54 - 3:59
    i rozmiar czcionki: 150 pikseli.
  • 4:00 - 4:03
    Dobrze. Teraz musimy tylko
    powiedzieć przeglądarce,
  • 4:03 - 4:06
    żeby przeniosła
    właściwość "rozmiar czcionki".
  • 4:06 - 4:11
    O ile czasu ma ją przesunąć
    i jakiej funkcji ma użyć.
  • 4:11 - 4:18
    Piszemy: "transition:
    font-size one second linear".
  • 4:19 - 4:22
    A teraz zatrzymajcie odtwarzanie
  • 4:22 - 4:26
    i spróbujcie najechać myszką na tekst.
    Zobaczcie, co się stanie.
  • 4:26 - 4:29
    Jeśli używacie Chrome, Firefoksa
    lub IE 10+,
  • 4:29 - 4:31
    tekst powinien rosnąć gładko.
  • 4:31 - 4:35
    Nie potrzebujecie do tej metody
    żadnych prefiksów dostawców.
  • 4:36 - 4:39
    Bardzo dużo możecie zrobić
    z pomocą animacji i "transition".
  • 4:39 - 4:42
    Przeglądarki
    dobrze sobie z nimi radzą.
  • 4:42 - 4:45
    Zachęcam: poznawajcie obie metody.
Title:
Animating styles with CSS animations (Video Version)
Description:

This is a video recording of a talk-through, uploaded to make it easier to create subtitles.
Please watch the original interactive talk-through on Khan Academy, where you can pause and edit the code
and see the code in better resolution:
http://www.khanacademy.org/computer-programming

more » « less
Video Language:
English
Duration:
04:47

Polish subtitles

Revisions