Curs Css


Proprietatea "animation", sau sub-proprietatile ei pot fi utilizate pentru a anima alte proprietati CSS aplicate elementelor HTML, cum ar fi: color, background-color, height, sau width.


• O alta metoda de a anima proprietatile unui element HTML cu CSS este utilizand proprietatea "transition". Vedeti tutorialul: CSS3 transition.


Elementul <style> din aceste exemple se adauga in sectiunea <head> din pagina.


Creare Animatie cu CSS

Ca sa faceti animatii cu CSS, mai intai se definesc "keyframes" cu un nume pentru animatie, folosind instructiunea @keyframes, in care se definesc stilurile CSS pe care trebuie sa le aibe elementul HTML la un moment dat.
Apoi, se adauga proprietatea animation (sau sub-proprietatile) la elementul HTML, folosind acelasi nume.

- In urmatorul exemplu se defineste si se adauga animatia "ex1_anim" la elementul "#anim_ex1". Animatia va dura 4 secunde de la inceput pana la sfarsit (0% la 100%), si va schimba gradual valoarea margin-left pentru #anim_ex1 de la "0" la "80%". Aceasta va avea ca efect miscarea acelui <div> de la stanga la dreapta.
<style>
 /* The animation code */
@keyframes ex1_anim {
 0% { margin-left: 0;}
 100% { margin-left: 80%;}
}

/* The element to apply the animation to */
#anim_ex1 {
 animation-name: ex1_anim;
 animation-duration: 4s;
 background-color: red;
 padding: 20px 0;
 width: 90px;
}
</style>

<div id='anim_ex1'>HTML Div</div>
- Demo:
- Clic pe acest buton: ca sa vedeti rezultatul codului de deasupra.
HTML Div

Daca proprietatea animation-duration nu este adaugata, animatia nu se va efectua, deoarece valoarea implicita e 0s (0 secunde).


Animatie CSS - pasi multipli

In exemplu de sus, animatia "@keyframes ex1_anim" are definiti doi pasi: 0% este inceputul animatiei, si 100% e sfarsitul.
Puteti adauga oricat de multi pasi (schimbari de stil) doriti.

- Urmatorul exemplu are patru pasi pentru animatie (0%, 30%, 55, 100%) care seteaza diferite proprietati CSS pentru a transforma, roti, muta si schimba culoarea de fundal in mod gradual.
<style>
@keyframes ex2_anim {
 0% { margin-left: 0;}
 30% {
 border-radius: 100%;
 transform: scale(1.5);
 }
 55% {
 transform: rotate(180deg);
 }
 100% {
 background-color: #0000e0;
 margin-left: 85%;
 transform: rotate(360deg);
 }
}

#anim_ex2 {
 animation-name: ex2_anim;
 animation-duration: 4s;
 background-color: red;
 padding: 20px 0;
 width: 90px;
}
</style>

<div id='anim_ex2'>HTML Div</div>
- Demo:
- Clic pe acest buton: ca sa vedeti rezultatul codului de deasupra.
HTML Div

Animatie CSS - sub-proprietati

Sunt mai multe sub-proprietati care se pot utiliza la configurarea animatiei cu CSS. Mai jos este o lista cu aceste sub-proprietati.

- Iata un exemplu cu unele din acestea. Animatia incepe dupa 1 secunde (delay 1) si e rulata de 3 ori, "alternate" (prima rulare in fata, a doua inapoi), si "linear" (cu aceeasi viteza de la inceput pana la sfarsit).
Cand animatia se termina, elementul ramane in pozitia din fata (forwards, cu stilul definit la ultimul pas, 100%): animation-fill-mode: forwards;.
<style>
@keyframes ex3_anim {
 0% { margin-left: 0;}
 50% {
 transform: scale(.8);
 transform: rotate(225deg);
 }
 100% {
 background-color: #5588ed;
 border-radius: 100%;
 margin-left: 85%;
 transform: rotate(450deg);
 }
}

#anim_ex3 {
 animation-name: ex3_anim;
 animation-duration: 2.5s;
 animation-delay: 1s;
 animation-direction: alternate;
 animation-iteration-count: 3;
 animation-fill-mode: forwards;
 animation-play-state: running; 
 animation-timing-function: linear;
 background-color: red;
 padding: 20px 0;
 width: 80px;
}
</style>

<div id='anim_ex3'>HTML Div</div>
- Demo:
- Clic pe acest buton: ca sa vedeti rezultatul.
HTML Div

Sub-proprietati pentru animatia CSS


Animatie cu CSS la pseudo-clase si pseudo-elemente

Animatia cu CSS se poate crea si la pseudo-elemente (:before, :after), si poate fi aplicata la pseudo-classe (precum :hover).
- Exemplu, cand mouse-ul este deasupra elementului #anim_pse, se creaza un pseudo-element cu ":after", care va fi animat.
<style>
@keyframes pse_anim {
 0% {
 left: 50%;
 height:0;
 width: 0;
 }
 50% {
 transform: rotate(180deg);
 }
 100% {
 border-radius: 100%;
 transform: rotate(360deg);
 left: 250px;
 height: 40px;
 width: 40px;
 }
}

#anim_pse {
 position: relative;
 text-align:center;
 padding:20px 0;
 width: 90px;
 background-color: red;
}

#anim_pse:hover:after {
 animation-name: pse_anim;
 animation-duration: 2s;
 animation-fill-mode: forwards;
 animation-timing-function: linear;
 background-color: #0000da;
 content: ' ';
 display: block;
 margin: 0;
 position: absolute;
 top: 25%;
}
</style>

Pozitionati mouse-ul peste patratul rosu.
<div id="anim_pse">Hello Sir</div>
Demo:
Pozitionati mouse-ul peste patratul rosu.
Hello Sir

Proprietatea animation

Pentru cei mai avansati, se pot adauga valorile mai multor sub-proprietati intr-o singura proprietate CSS: animation.
- Exemplu urmator foloseste sase din proprietatile CSS de animatie:
#elm_id {
 animation-name: example;
 animation-duration: 4s;
 animation-timing-function: linear;
 animation-delay: 2s;
 animation-iteration-count: infinite;
 animation-direction: alternate;
}
- Acelasi efect de animatie se poate obtine cu proprietatea animation:
#elm_id {
 animation: example 4s linear 2s infinite alternate;
}
Se pot anima multe proprietati CSS: "background-color, height, margin, opacity, padding, transform, width", si altele.
La MDN e o lista cu Animatable CSS properties.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Clic pe tag-ul care creaza celula in tabel.
<tr> <span> <td>
<table></tr>
  <td>Cell-1</td><td>Cell-2</td>
</tr></table>
Indicati proprietatea CSS care adauga o imagine pentru fundal
background-color background-image color
h3 {
  background-image: url("image.jpg");
}
Ce instructiune se foloseste la parcugerea elementelor unui Array?
for() [) object()
var arr = [1, "ab", "CoursesWeb.net"];
for(var i=0; i< arr.length; i++) { alert(arr[i]); };
Indicati functia PHP utilizata la parcurgerea elementelor unui Array asociativ.
for() foreach() if()
$arr =["k1"=>"v1", "k2"=>"v2", "k3"=>"v3");
foreach($arr AS $k => $v) { echo "<br/>". $k ." - ". $v; }
Care din urmatoarele cuvinte este sinonim cu "gentle" (bland)?
meek good beautiful
He is so kind and meek.
- El este atat de amabil si bland.
Care din urmatoarele cuvinte este sinonim cu "amable" (bland, prietenos)?
hermoso fuerte manso
Tu padre tiene un carácter muy manso.
- Tatal tau are un caracter foarte bland.
Animatie elemente HTML cu CSS

Last accessed pages

  1. Prezentul simplu - Exercitii si teste incepatori (70031)
  2. Accentul si Pronuntia (28452)
  3. Poezii pentru copii, in engleza (40912)
  4. Coduri pt culori (71845)
  5. Viitorul - Verbul la viitor (6475)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1223)
  2. Coduri pt culori (892)
  3. Cursuri limba engleza gratuite si lectii online (590)
  4. Gramatica limbii engleze - Prezentare Generala (521)
  5. Exercitii engleza - English Tests and exercises - Grammar (476)