0

هیچ محصولی در سبد خرید نیست.

طراحی سایت در اصفهان, سئو سایت اصفهان, ساخت سایت اصفهان, طراحی سایت حرفه ای اصفهان, بهینه سازی سایت , بازاریابی و دیجیتال مارکتینگ 09133886881 احمدپور

انیمیشن ها در CSS

نویسنده پشتیبانی وب یار
امتیاز مطلب
تعداد بازدید 899
تاریخ بروزرسانی ۲۴ آبان ۱۳۹۸

آموزش ساخت انیمیشن با کمک CSS

 

CSS Animations

CSS Animations

 

انیمیشن های CSS ، تغییر حالت (Transition) تدریجی از یک استایل خاص به استایلی دیگر را میسر می کنند. انیمیشن ها از دو جزء تشکیل شده اند، استایلی که CSS مربوط به انیمیشن را مشخص نموده و مجموعه ای از نقاط عطف (keyframes) که حالت های شروع و پایان استایل های انیمیشن و همچنین ایستگاه های میانی را تعیین می کنند. تیم طراحی سایت اصفهان وب یار، شما عزیزان را به خواندن این مقاله دعوت می کند؛ همچنین پذیرای علاقمندان به یادگیری طراحی سایت در کلاس آموزشی طراحی سایت اصفهان وب یار می باشد.

 

در اینجا سه مورد از دلایل برتری انیمیشن های CSS نسبت به انیمیشن های اسکریپت محور را لیست کرده ایم:

  • 1) استفاده از انیمیشن های CSS برای ساخت انیمیشن های ساده، بسیار آسان تر است. حتی بدون دانستن جاوا اسکریپت هم می توانید انیمیشن بسازید!
  • 2) انیمیشن های CSS خیلی روان اجرا می شوند، حتی در سیستم هایی با قدرت تحلیل ضعیف؛ انیمیشن های ساده، اغلب در جاوا اسکریپت اجرای ضعیفی دارند (مگر آنکه به خوبی نوشته شده باشند). موتورهای گرافیکی می توانند Keyframe ها را حین اجرا، رندر (Render) کنند تا اجرای پیوسته و مطلوبی به نمایش گذاشته شود.
  • 3) اگر به مرورگرها اجازه کنترل انیمیشن ها داده شود، خروجی اجرایی بهینه تر و کارآمدتری را شاهد خواهیم بود؛ برای مثال کاهش تعداد آپدیت انیمشن هایی که در سایر تب های مرورگر باز هستند اما دیده نمی شوند.

 

چگونه با کمک CSS انیمیشن بسازیم؟ (CSS Animations)

برای ایجاد یک انیمیشن، باید به خواص (CSS Properties) المان مورد نظرتان، خاصیت animation یا زیر دسته هایش را اضافه کنید. این کار به شما اجازه می دهد تا مدت و سرعت اجرای کل انیمیشن و سایر جزئیاتی که تعیین می کند این انیمیشن چگونه باید پیش برود را مدیریت کنید.

 

مروری بر زیردسته های خاصیت animation:

animation-name

نام متناظر با keyframe@ را مشخص می کند که برای توصیف نقاط عطف انیمیشن استفاده می شود.

 

animation-duration

مدت زمانی که انیمیشن یک بار به طور کامل اجرا می شود را تنظیم می کند.

 

animation-timing-function

شتاب پیشروی انیمیشن به صورت منحنی یا خط مستقیم را مشخص می کند.

 

animation-delay

میزان تأخیر لود شدن المان مورد نظر نسبت به شروع انیمیشن را تنظیم می کند.

 

animation-iteration-count

تعداد دفعاتی که انیمیشن باید تکرار شود را تعیین می کند. اگر مقدار infinite را قرار دهید، انیمیشن به صورت پیوسته و دائم اجرا می شود.

 

animation-direction

تعیین می کند که انیمیشن بعد از هر بار اجرای کامل، اجرای بعدی را مجدد از ابتدا نمایش دهد یا در جهت عکس.

 

animation-fill-mode

انیمیشن های CSS درحالت عادی، قبل از اجرای اولین و بعد از اجرای آخرین keyframe روی المان مورد نظر تغییری اعمال نمی کنند. با به کار بردن این خاصیت، می توانید چنین تغییری را صورت دهید.

 

animation-play-state

برای توقف یا ادامه دادن به اجرای انیمیشن به کار می آید.

 

CSS Keyframes

پس از اینکه تایمینگ انیمیشن خود را مشخص کردید، نوبت به تعیین شکل اجرای انیمیشن با تعریف حداقل دو نقطه عطف (Keyframe) و با استفاده از keyframes@ می رسد. هر keyframe نشان می دهد که تغییرات استایل المان مورد نظر در خلال اجرای انیمیشن چگونه باید به وقوع بپیوندد.
از آنجا که تایمینگ انیمیشن در استایل های مربوط به المان مورد نظر تعریف می شود، برای مشخص شدن لحظه شروع keyframe ها، درصد به کار می برند. این گونه که 0% برای لحظه شروع انیمیشن و 100% برای پایان آن لحاظ شده است که گاهی از from و to بجای آن ها استفاده می شود.

 

مثال ها:

نمونه اول – حرکت بلوک قرمز به پایین و تغییر رنگ آن به آبی

 

CSS Animation Example_1

 

کدهای این انیمیشن به شکل زیر هستند:

div {
width: 100px;
height: 100px;
background: red;
position: relative;
animation: mymove 3s;
animation-fill-mode: forwards;
}

@keyframes mymove {
from {top: 0px;}
to {top: 200px; background-color: blue;}
}

 

نمونه دوم – فلیپ شدن کارت به همراه تغییر رنگ و محو شدن نوشته

 

 CSS Animation Example_2

 

#object {
      background: #53a3dc;
      width: 150px;
      height: 150px;
      border-radius: 10px;
      text-align:center;
      line-height:150px;
      font-size:22px;
      color:#fefefe;
  }
  
   .flip-vertical-bck {
            animation: flip-vertical-bck 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
  }
  
  @keyframes flip-vertical-bck {
    0% { transform: translateZ(0) rotateY(0); }
    50% {
              transform: translateZ(-260px) rotateY(-180deg);
              background: #dc537f;
              color:#dc537f;
    }
     100% { transform: translateZ(0) rotateY(0); }
  }

افکت ها و انیمیشن های حرفه ای و جذاب زیادی در سایت انیمیستا وجود دارد که پیشنهاد می دهیم حتماً ببینید و استفاده ببرید و ما را با نظرات گرم خود خوشحال کنید.

به روز و پیروز باشید!

 

0/5 (0 Reviews)
مطالب مرتبط
دیدگاه ها

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *