CSS Tranzicija

Dakle, prešli smo sa teksta i boja u veb dizajnu na jedinstvene bombe, eksplozije ... OK, ne toliko, ali prešli smo. CSS prati i podržava te promene i zbog toga imamo opciju tranzicije .

Ovaj post je usko povezan sa postom koji je trenutno napisan i koji se tiče transformacije (zato redovno proveravajte ovaj blog ili se samo pretplatite na naš bilten).

O tranziciji

Svojstvo tranzicije omogućava glatku promenu vrednosti svojstava CSS.
**Potrebno je definisati svojstvo koje će se promeniti i trajanje efekta.
**

 button{
    transition: background 1s;
    -webkit-transition: background 1s; /* Safari */
 }

Ove dve vrednosti mogu se definisati sa univerzalnim svojstvom transition ili sa pojedinačnim svojstvima transition-property i transition-duration.

Neke od transition-property vrednosti kojih se trenutno mogu setiti su:

  • width,
  • height,
  • color,
  • background (color, image, position) ,
  • transform (in the next post),
  • border (color, width),
  • position (top, bottom, left, right ),
  • text (size, weight, shadow, word-spacing),
  • margin,
  • padding,
  • opacity,
  • visibility,
  • z-index,
  • all.

Ako je vrednost definisana svojstvom, definiše listu zarezom odvojenih imena CSS svojstava kojima je namenjen efekat prelaza. Vrednost sve je podrazumevani i definiše da sve osobine koje se mogu tranzitovati u tranziciji. U ovom slučaju, sva promenjena svojstva će imati tranziciju sa istim duration ( delay i timing ako su definisana).

transition-duration svojstvo je vrlo jednostavno, definiše koliko vremena efekat tranzicije potrebno da se završi, a njegova vrednost se može definisati u sekundama (S) ili milisekundama (ms).

Više opcija tranzicije

Dodatna svojstva povezana sa prelazom su:

  • transition-delay
  • transition-timing-function

Veoma slično svojstvu trajanja, transition-delay definiše se sekundama ili milisekundama (ms) i određuje kada će započeti efekat prelaza. Ovo svojstvo može biti negativno, za razliku od svojstva trajanja, i ako je to slučaj, započet će delimično kroz svoj ciklus reprodukcije.

transition-timing-function svojstvo je definisano sledećim funkcijama:

  • ease - polagan početak, brzi srednji, spori kraj,
  • linear - konstantna brzina,
  • ease-in - polagan početak, brzi kraj,
  • ease-out - brzi početak, usporeni kraj,
  • ease-in-out - izraženije krive ubrzanja / usporavanja koje olakšavaju,
  • cubic-bezier(n, n, n, n) - možete da napišete sopstvenu funkciju definisanu sa 4 koordinate ( cubic bezier functions ).
 button{
   transition: background 1s ease-in-out 2s;
   -webkit-transition: background 1s ease-in-out 2s; /* Safari */
 }

Pomoću univerzalnog svojstva transition možete definisati sva četiri svojstva, imajte na umu da je prvi put definisano uvek transition-duration.

Moguće je postaviti višestruke prelaze. Za podelu različitih prelaza koristite ,.

   button{
     transition: background 1s ease-in-out 2s, width 2s linear;
     -webkit-transition: background 1s ease-in-out 2s, width 2s linear; /* Safari */
   }

Okidanje

Glavna stvar koju treba imati na umu prilikom tranzicije je da je ovo svojstvo prethodno definisano i da će se dogoditi samo ako je pokrenuto (ako se promeni svojstvo koje je definisano svojstvom prelaska).

CSS prelaze možete direktno da pokrenete pseudo-klasama poput: hover,: focus i: active ili putem JavaScript-a dodavanjem ili uklanjanjem klasa.

Zaključak

Ovo svojstvo je široko podržano, pa ga iskoristite! Ako vam je potrebna inspiracija, pogledajte ovaj primer.