CodeGym /Kurslar /Frontend SELF AZ /Animasiyanın əsasları

Animasiyanın əsasları

Frontend SELF AZ
Səviyyə , Dərs
Mövcuddur

6.1 @keyframes qaydası

CSS animasiyaları minimal səylərlə mürəkkəb və hamar vizual effektlər yaratmağa imkan verir. CSS-də animasiya yaratmaq üçün əsas alət @keyframes qaydasıdır, bu qayda animasiyanın əsas kadrlərini və hər bir kadrda baş verən stil dəyişikliklərini müəyyən edir.

@keyframes qaydası CSS xüsusiyyətlərinin dəyişikliklərini animasiyanın müxtəlif mərhələlərində müəyyən edərək animasiya yaratmaq üçün istifadə olunur. Əsas kadrlər animasiya prosesində müəyyən məqamlarda tətbiq olunacaq stilləri müəyyən edir.

Sintaksis 1:

    
      @keyframes animation-name {
        from {
          /* başlanğıc stillər */
        }

        to {
           /* son stillər */
        }
      }
    
  

Sintaksis 2:

    
      @keyframes animation-name {
        0% {
          /* başlanğıc stillər */
        }

        100% {
           /* son stillər */
        }
      }
    
  

Burada:

  • from animasiya vaxtının 0%-ə uyğun gəlir
  • to animasiya vaxtının 100%-ə uyğun gəlir

Nümunə: Fon rənginin hamar dəyişməsi

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Sadə animasiya nümunəsi</title>
          <style>
            @keyframes changeColor {
              from {
                background-color: lightblue;
              }

              to {
                background-color: lightcoral;
              }
            }

            .animated-box {
              width: 200px;
              height: 200px;
              background-color: lightblue;
              animation: changeColor 3s infinite;
            }
          </style>
        </head>
        <body>
          <div class="animated-box">Məni hover elə!</div>
        </body>
      </html>
    
  

İzah:

  • @keyframes changeColor qaydası elementin fon rəngini lightblue rəngindən lightcoral rənginə dəyişən animasiyanı təyin edir
  • .animated-box elementindəki animation xüsusiyyəti göstərir ki, changeColor animasiyası 3 saniyə çəkməlidir və sonsuz təkrarlanmalıdır

6.2 Bir neçə əsas kadr

Daha mürəkkəb animasiyalar yaratmaq üçün aralıq vəziyyətlər üçün stillər müəyyənləşdirərək iki əsas kadrdan çox istifadə edə bilərsiniz.

Nümunə: Rəng dəyişməklə diaqonal hərəkət

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Multiple Keyframes Example</title>
          <style>
            @keyframes moveAndChangeColor {
              0% {
                background-color: lightblue;
                transform: translate(0, 0);
              }

              50% {
                background-color: lightgreen;
                transform: translate(100px, 100px);
              }

              100% {
                background-color: lightcoral;
                transform: translate(200px, 0);
              }
            }

            .animated-box {
              width: 200px;
              height: 200px;
              background-color: lightblue;
              animation: moveAndChangeColor 5s infinite;
            }
          </style>
        </head>
        <body>
          <div class="animated-box">Mənim hərəkətimi izləyin!</div>
        </body>
      </html>
    
  

İzah:

@keyframes moveAndChangeColor qaydası elementin fon rəngini və mövqeyini üç mərhələdə dəyişən animasiyanı müəyyən edir.

  • Animasiyanın 0%-ində element açıq mavi rəngdədir və başlanğıc mövqeyindədir
  • Animasiyanın 50%-ində element açıq yaşıl rəngdə olur və 100 piksel sağa və aşağı hərəkət edir
  • Animasiyanın 100%-ində element açıq qırmızı-korallı rəngdədir və 200 piksel sağa hərəkət edir

6.3 Sadə animasiya nümunələri

Nümunə 1: Nəbz effekti

Elementin yavaş-yavaş böyüyüb kiçildiyi nəbz effektini yaratmaq.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Pulsing Effect</title>
          <style>
            @keyframes pulse {
              0% {
                transform: scale(1);
              }

              50% {
                transform: scale(1.2);
              }

              100% {
                transform: scale(1);
              }
            }

            .pulse-box {
              width: 150px;
              height: 150px;
              background-color: lightpink;
              animation: pulse 2s infinite;
            }
          </style>
        </head>
        <body>
          <div class="pulse-box">Pulsing</div>
        </body>
      </html>
    
  

İzah:

  • @keyframes pulse qaydası elementi 120%-ə qədər böyüdən və sonra ilkin ölçüyə qaytaran bir animasiyanı müəyyən edir
  • .pulse-box elementindəki animation parametri göstərir ki, pulse adlı animasiya 2 saniyə davam etməli və sonsuz təkrarlanmalıdır

Nümunə 2: Fırlanma

Elementin fasiləsiz fırlanma effektini yaratmaq:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Rotating Effect</title>
          <style>
            @keyframes rotate {
              from {
                transform: rotate(0deg);
              }

              to {
                transform: rotate(360deg);
              }
            }

            .rotate-box {
              width: 100px;
              height: 100px;
              background-color: lightseagreen;
              animation: rotate 3s infinite linear;
            }
          </style>
        </head>
        <body>
          <div class="rotate-box">Rotating</div>
        </body>
      </html>
    
  

İzah:

  • @keyframes rotate qaydası elementi 0-dan 360 dərəcəyə qədər fırladan animasiyanı müəyyən edir
  • .rotate-box elementindəki animation parametri göstərir ki, rotate animasiyası 3 saniyə davam etməli, sonsuz təkrarlanmalı və sabit sürətlə (linear) baş verməlidir
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION