Ultimele tutoriale de dezvoltare web
 

CSS Animații


CSS3 Animații

animații CSS3 permite animație de cele mai multe elemente HTML fără a utiliza JavaScript sau Flash!

CSS3
Animaţie

Suport pentru Browser Animatii

Numerele din tabel specifica prima versiune de browser care acceptă pe deplin proprietatea.

Numerele urmat de -webkit-, -moz- sau -o- specificați prima versiune care a lucrat cu un prefix.

Proprietate
@keyframes 43.0
4.0 -webkit-
10.0 16.0
5.0 -moz-
9.0
4.0 -webkit-
30.0
15.0 -webkit-
12.0 -o-
animation 43.0
4.0 -webkit-
10.0 16.0
5.0 -moz-
9.0
4.0 -webkit-
30.0
15.0 -webkit-
12.0 -o-

Ce sunt CSS3 Animațiile?

O animație permite un element schimba treptat de la un stil la altul.

Puteți schimba cât mai multe proprietăți CSS pe care doriți, ori de câte ori doriți.

Pentru a utiliza animație CSS3, trebuie să specificați mai întâi câteva keyframes pentru animație.

Cadrele cheie dețin ce stiluri elementul va avea în anumite momente.


@keyframes Regula

Când specificați stiluri CSS în interiorul @keyframes regula, animația se va schimba treptat de stilul actual la noul stil în anumite momente.

Pentru a obține o animație la locul de muncă, trebuie să legați de animație la un element.

Exemplul următor leagă "example" animație la <div> element. Va fi rulată animația durează timp de 4 secunde, si se va schimba treptat culoarea de fundal a <div> elementul de la "red" la "yellow" :

Exemplu

/* The animation code */
@keyframes example {
    from {background-color: red;}
    to {background-color: yellow;}
}

/* The element to apply the animation to */
div {
    width: 100px;
    height: 100px;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
}
Încearcă - l singur »

Note: În cazul în care animation-duration proprietate nu este specificată, animația va avea nici un efect, deoarece valoarea implicită este 0.

In exemplul de mai sus , am specificat în cazul în care stilul se va schimba folosind cuvintele cheie "from" de "to" (which represents 0% (start) (complete) "from" și "to" (which represents 0% (start) și 100% (complete) ).

De asemenea, este posibil să se utilizeze la sută. Prin utilizarea la sută, puteți adăuga cât mai multe schimbări de stil doriți.

Următorul exemplu va schimba fundal culoarea <div> Elementul când animația este de 25% complet, 50% completă, și din nou când animația este 100% complet:

Exemplu

/* The animation code */
@keyframes example {
    0%   {background-color: red;}
    25%  {background-color: yellow;}
    50%  {background-color: blue;}
    100% {background-color: green;}
}

/* The element to apply the animation to */
div {
    width: 100px;
    height: 100px;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
}
Încearcă - l singur »

Următorul exemplu se va modifica atât fundal culoarea și poziția <div> Elementul când animația este de 25% complet, 50% completă, și din nou când animația este 100% complet:

Exemplu

/* The animation code */
@keyframes example {
    0%   {background-color: red; left:0px; top:0px;}
    25%  {background-color: yellow; left:200px; top:0px;}
    50%  {background-color: blue; left:200px; top:200px;}
    75%  {background-color: green; left:0px; top:200px;}
    100% {background-color: red; left:0px; top:0px;}
}

/* The element to apply the animation to */
div {
    width: 100px;
    height: 100px;
    position: relative;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
}
Încearcă - l singur »

Amânați o animație

animation-delay proprietate specifică o întârziere pentru începerea unei animații.

Următorul exemplu are o întârziere de 2 secunde înainte de a porni animația:

Exemplu

div {
    width: 100px;
    height: 100px;
    position: relative;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
    animation-delay: 2s;
}
Încearcă - l singur »

Set de câte ori o animație ar trebui să ruleze

animation-iteration-count proprietate specifică numărul de ori o animație ar trebui să fie difuzate.

Următorul exemplu va rula animația de 3 ori înainte de a se oprește:

Exemplu

div {
    width: 100px;
    height: 100px;
    position: relative;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
    animation-iteration-count: 3;
}
Încearcă - l singur »

Exemplul următor utilizează valoarea „ infinite “ pentru a face animație continua pentru totdeauna:

Exemplu

div {
    width: 100px;
    height: 100px;
    position: relative;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
    animation-iteration-count: infinite;
}
Încearcă - l singur »

Run Animation în direcție inversă sau Cicluri alternative

animation-direction proprietate este folosită pentru a lăsa o rula animație în sens invers sau cicluri alternative.

Următorul exemplu va rula animația în sens invers:

Exemplu

div {
    width: 100px;
    height: 100px;
    position: relative;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
    animation-iteration-count: 3;
    animation-direction: reverse;
}
Încearcă - l singur »

Exemplul următor utilizează valoarea "alternate" pentru a face animație a alerga mai întâi înainte, apoi înapoi, apoi înainte:

Exemplu

div {
    width: 100px;
    height: 100px;
    position: relative;
    background-color: red;
    animation-name: example;
    animation-duration: 4s;
    animation-iteration-count: 3;
    animation-direction: alternate;
}
Încearcă - l singur »

Specifică curba viteza animației

animation-timing-function de proprietate specifică curba viteza animației.

Proprietatea de animație-sincronizare-funcție poate avea următoarele valori:

  • ease - specifică o animație cu un început lent, apoi rapid, apoi se termina lent (this is default)
  • linear - specifică o animație cu aceeași viteză de la început până la sfârșit
  • ease-in - specifică o animație cu un început lent
  • ease-out - specifică o animație cu un capăt lent
  • ease-in-out - specifică o animație cu un început lent și sfârșit
  • cubic- bezier(n,n,n,n) - vă permite să definiți propriile valori într - o funcție cubi Bezier

Exemplul următor prezintă unele dintre diferitele curbe de viteză care pot fi utilizate:

Exemplu

#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}
Încearcă - l singur »

Animație stenografie Proprietate

Exemplul de mai jos folosește șase dintre proprietăți de animație:

Exemplu

div {
    animation-name: example;
    animation-duration: 5s;
    animation-timing-function: linear;
    animation-delay: 2s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
Încearcă - l singur »

Același efect de animație ca mai sus se poate realiza prin utilizarea stenografie animation proprietate:

Exemplu

div {
    animation: example 5s linear 2s infinite alternate;
}
Încearcă - l singur »

Testați-te cu exerciții!

Exercițiul 1 » Exercițiul 2» Exercițiul 3 » Exercițiul 4» Exercițiul 5 » Exercițiul 6»


Proprietăți Animație CSS3

Tabelul următor listează @keyframes regula și toate proprietățile de animație:

Proprietate Descriere
@keyframes Specifică codul de animație
animation O proprietate prescurtare pentru stabilirea tuturor proprietăților de animație
animation-delay Specifică o întârziere pentru începerea unei animații
animation-direction Specifică dacă o animație ar trebui să joace în sens invers sau cicluri alternative
animation-duration Specifică cât de multe secunde sau milisecunde ia o animație pentru a finaliza un ciclu
animation-fill-mode Specifică un stil pentru elementul atunci când animația nu se joacă (when it is finished, or when it has a delay)
animation-iteration-count Specifică numărul de ori o animație ar trebui să fie jucate
animation-name Specifică numele animației @keyframes
animation-play-state Specifică dacă animația se execută sau întrerupte
animation-timing-function Specifică curba de viteză de animație