انیمیشن (Animations) در CSS و نحوه کار با آن

در CSS قالب های خوبی برای خلق انیمیشن های جذاب در صفحات وب وجود دارد. توسط این پراپرتی و توسط رول keyframe می توانیم انیمیشن های جذابی برای صفحات وب ایجاد کنیم. ما محدود و عامیانه توضیح دادیم، خواستی بیشتر بدونی این لینک رو ببین.

/*
پراپرتی مخصوص نوشتن دستورات انیمیشن
در واقع داخل این قسمت مشخص میکنیم که انیمیشن چطوری باشه
*/
@keyframes animations_name{}
/* نام انیمیشن که جلوی کی فریم بالایی نوشته میشود. */
animation-name: ;
/* مدت زمان انجام انیمیشن چقدر طول بکشه */
animation-duration: ;
/* دیلی: تاخیر اولیه برای شروع انیمیشن */
animation-delay: ;
/* تعداد تکرار انیمیشن */
animation-iteration-count: ;
/* جهت اجرای انیمیشن هست */
animation-direction: ;
/* حالت تایمی */
animation-timing-function: ;
animation-fill-mode: ;
animation

براش شروع ما یک رول keyframe داریم که کد های مربوط به انیمیشن کردن رو داخلش قرار میدیم و در نهایت به المان مربوطه نام انیمیشن رو میدیم: نمونه کد زیر:

/* The animation code */
@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
  /* کد بالا با کد زیر یکی هست */
  0% {background-color: red;}
  100% {background-color: yellow;}
}

/* The element to apply the animation to */
div {
  width: 100px;
  height: 100px;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-iteration-count: infinite; /* تکرار نا محدودی */
  animation-timing-function: ease-in;
 
  /* خلاصه شده کد بالا رو میتونیم در یک خط بنویسم */
  /* ----- این بهتره ------ */
  animation: example 4s infinite ease-in;
}

مثال: ساخت لودینگ انیمیشی دایره ای محو شونده

با کد زیر یک دایره آبی رنگ در صفحه رسم کردیم، که از یک نقطه ریز شروع به بزرگ شدن و همزمان محو شدن میکنه که یه حالت انیمیشنی جذابی داره، نمونه کدش رو ببینید: (دموی آنلاین)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
      .circle_loading {
        width: 50px;
        height: 50px;
        border-radius: 50px;
        background-color: blue;
        animation: circleAnimation 4s infinite ease-in;
      }
      /* The animation code */
      @keyframes circleAnimation {
        0% {
          transform: scale(0);
        }
        100% {
          transform: scale(1);
          opacity: 0;
        }
      }
    </style>
</head>
<body>
    <div class="circle_loading"></div>
</body>
</html>

 

 

 

 

 

 

 

 

 

 

دیدگاهتان را بنویسید