CSS انیمیشن
- پچھلے پیج CSS تبدیل
- پچھلے پیج CSS توجیہات
CSS انیمیشن
CSS، HTML عناصر کا انیمیشن کرسکتا ہے، جس میں جاوا اسکریپت یا فلاش کا استعمال نہیں کیا جاتا،!
اس باب میں، آپ کسی بھی سائٹل سیکشن کا تعلم کرسکتے ہیں:
@keyframes
animation-name
animation-duration
animation-delay
animation-iteration-count
animation-direction
animation-timing-function
animation-fill-mode
animation
انیمیشن کا براؤزر کا مدد دینا
جداول میں دیئے گئے شماریات، اس کی ابتدائی براؤزر ورژن کو کیا ہوا ہے جس میں اس کی پورا مدد دی جاتی ہے،
属性 | کروم | آئی ای | فائر فاکس | سافری | آپریا |
---|---|---|---|---|---|
@keyframes | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-name | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-duration | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-delay | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-iteration-count | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-direction | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-timing-function | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-fill-mode | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
CSS انیمیشن کیا ہے؟
انیمیشن عناصر کو ایک سائٹل سے دوسری سائٹل تک تبدیل دیتا ہے،
آپ کسی بھی تعداد کا CSS سائٹل تبدیلی کرسکتے ہیں،
اگر آپ CSS انیمیشن استعمال کرنا چاہتے ہیں تو، آپ کو ابتدا میں انیمیشن کی کچھ کلیدی فیمز کو تعین کرنا چاہئے،
کچھ فیم کا تعین کرسکتا ہے کہ عناصر کسی بھی وقت کا سائٹل کیا رہا ہے،
@keyframes قوانین
آپ اگر، @keyframes
قوانین میں سائٹل کا تعین کیا گیا ہے، انیمیشن کسی بھی وقت سے دوسری سائٹل تک تبدیل ہوگا،
انیمیشن کا اثر دینے کے لئے، انیمیشن کو کسی بھی عنصر پر بند کیا جانا ضروری ہوتا ہے،
مثال کے تحت، "example" انیمیشن کو <div> عناصر پر بند کیا جائے گا۔ انیمیشن 4 سیکنڈ تک چلائے گا، اور <div> عناصر کا پس منظر رنگ "red" سے بڑھ کر "yellow" پر تبدیل ہوگا:
实例
/* کد انیمیشن */ @keyframes example { from {background-color: red;} to {background-color: yellow;} } /* اس عنصر پر انیمیشن کا اثر دینا */ div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
توجہ دہانی:animation-duration
سائٹل کا تعین کرسکتا ہے کہ آپ کا سائٹل کتنا عرصہ تک چلائے گا، اگر کسی بھی سائٹل کا نام نہیں دیا جائے تو، animation-duration
اگر کسی بھی سائٹل کا نام نہیں دیا جائے تو، آپ کا سائٹل نہیں آگا، کیونکہ دفعہ کا تعین 0s (0 سیکنڈ) ہوتا ہے،
علیکم کی مثال میں، سائٹل تبدیلی کی تاریخ کا تعین کرسکتے ہیں جب سائٹل تبدیل ہوگا، جس میں کلمات "from" اور "to" استعمال کئے گئے ہیں (0 فیصد (شروع) اور 100 فیصد (پورا کیا گیا))،
آپ بھی فیصد کی بنیاد پر استعمال کرسکتے ہیں۔ فیصد کا استعمال کرسکتے ہوئے، آپ کسی بھی تعداد کا استعمال کرسکتے ہیں اور کسی بھی وقت میں کسی بھی سائٹل میں تبدیلیاں لاسکتے ہیں۔
مثال کے تحت، جب 25 فیصد تک، 50 فیصد تک اور 100 فیصد تک، رنگ پس منظر <div> عناصر کا رنگ پس منظر تبدیل ہوگا:
实例
/* کد انیمیشن */ @keyframes example { 0% {background-color: red;} 25% {background-color: yellow;} 50% {background-color: blue;} 100% {background-color: green;} } /* عناصر اعمال شده به انیمیشن */ div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
مثال زیر تغییر رنگ پسزمینه و موقعیت عناصر <div> را در 25%, 50% و 100% از انیمیشن تغییر میدهد:
实例
/* کد انیمیشن */ @keyframes example { 0% {background-color:red; left:0px; top:0px;} 25% {background-color:yellow; left:200px; top:0px;} 50% {background-color:blue; left:200px; top:200px;} 75% {background-color:green; left:0px; top:200px;} 100% {background-color:red; left:0px; top:0px;} } /* عناصر اعمال شده به انیمیشن */ div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; }
تأخیر انیمیشن
animation-delay
این属性 زمان تأخیر شروع انیمیشن را مشخص میکند.
مثال زیر یک تأخیر 2 ثانیهای قبل از شروع انیمیشن دارد:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-delay: 2s; }
مقادیر منفی نیز مجاز هستند. اگر از مقادیر منفی استفاده شود، انیمیشن شروع به پخش خواهد کرد، انگار که قبلاً N ثانیه اجرا شده باشد.
در مثال زیر، انیمیشن شروع به پخش خواهد کرد، انگار که قبلاً 2 ثانیه اجرا شده باشد:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-delay: -2s; }
تنظیم تعداد اجراهای انیمیشن
animation-iteration-count
این属性 مشخص میکند که انیمیشن باید چند بار اجرا شود.
مثال زیر را اجرا میکند تا انیمیشن 3 بار اجرا شود تا قبل از توقف:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 3; }
مثال میخواهد از مقادیر "infinite" استفاده کند تا انیمیشن همیشه ادامه داشته باشد:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: infinite; }
انیمیشن به صورت معکوس یا پشت سر هم اجرا شود
animation-direction
این属性 مشخص میکند که انیمیشن باید به جلو، به عقب یا به صورت پشت سر هم پخش شود.
animation-direction
این ویژگی از موارد زیر پذیرفته میشود:
normal
- انیمیشن به صورت معمول پخش میشود (به جلو). مقادیر پیشفرضreverse
- انیمیشن با جهت مخالف پخش میشود (به عقب)alternate
- انیمیشن ابتدا به جلو پخش میشود، سپس به عقبalternate-reverse
- انیمیشن ابتدا به عقب پخش میشود، سپس به جلو
در مثال زیر، انیمیشن با جهت مخالف (به عقب) اجرا خواهد شد:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-direction: reverse; }
مثال میخواهد از مقادیر "alternate" استفاده کند تا انیمیشن ابتدا به جلو اجرا شود، سپس به عقب اجرا شود:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 2; animation-direction: alternate; }
مثال میخواهد از مقادیر "alternate-reverse" استفاده کند تا انیمیشن ابتدا به عقب اجرا شود، سپس به جلو اجرا شود:
实例
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 2; animation-direction: alternate-reverse; }
منحنی سرعت انیمیشن را مشخص میکند
animation-timing-function
این ویژگی منحنی سرعت انیمیشن را مشخص میکند.
animation-timing-function
این ویژگی از موارد زیر پذیرفته میشود:
ease
- انیمیشنی که در ابتدا کندار است، سپس سریعتر میشود و در پایان کندار است (پیشفرض)linear
- انیمیشنی که سرعت یکسان از ابتدا تا پایان دارد را مشخص کنیدease-in
- انیمیشنی که در ابتدا کندار است را مشخص کنیدease-out
- انیمیشنی که در پایان کندار است را مشخص کنیدease-in-out
- انیمیشنی که در ابتدا و پایان کندار است را مشخص کنیدcubic-bezier(n,n,n,n)
- اجرای مقدار تعیین شده خود را در تابع بیثسوم تعریف کنید
مثالهای زیر نمونههایی از برخی از منحنیهای سرعت قابل استفاده هستند:
实例
#div1 {animation-timing-function: linear;} #div2 {animation-timing-function: ease;} #div3 {animation-timing-function: ease-in;} #div4 {animation-timing-function: ease-out;} #div5 {animation-timing-function: ease-in-out;}
مقدار پر کردن انیمیشن را مشخص میکند
انیمیشنهای CSS قبل از پخش اولین فریم کلیدی یا بعد از پخش آخرین فریم کلیدی بر علامت تأثیر نمیگذارند.animation-fill-mode
این ویژگی میتواند این رفتار را پوشش دهد.
در زمانی که انیمیشن پخش نمیشود (قبل از شروع، بعد از پایان یا هر دو)،animation-fill-mode
این ویژگی استایل هدف علامت را مشخص میکند.
ویژگی animation-fill-mode از موارد زیر پذیرفته میشود:
none
- مقدار پیشفرض. انیمیشن قبل از اجرا یا بعد از اجرا به علامت هیچ استایلی را اعمال نمیکند.forwards
- علامت ارزش استایل تعیین شده در آخرین فریم کلیدی را حفظ خواهد کرد (بستگی به animation-direction و animation-iteration-count).backwards
- علامت به ارزش استایل تعیین شده در اولین فریم کلیدی (بستگی به animation-direction) دسترسی خواهد یافت و این ارزش را در طول دوره تأخیر انیمیشن حفظ خواهد کرد.both
- انیمیشن به طور همزمان از قوانین به سمت جلو و به سمت عقب پیروی میکند، بنابراین ویژگیهای انیمیشن را در دو جهت گسترش میدهد.
مثال زیر، علامت <div> را در پایان انیمیشن با نگهداری ارزش استایل از آخرین فریم کلیدی نشان میدهد:
实例
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-fill-mode: forwards; }
下面的例子在动画开始之前(在动画延迟期间)使 <div> 元素获得由第一个关键帧设置的样式值:
实例
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-delay: 2s; animation-fill-mode: backwards; }
下面的例子在动画开始之前使 <div> 元素获得第一个关键帧设置的样式值,以及在动画结束时保留最后一个关键帧的样式值:
实例
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-delay: 2s; animation-fill-mode: both; }
动画简写属性
下例使用六种动画属性:
实例
div { animation-name: example; animation-duration: 5s; animation-timing-function: linear; animation-delay: 2s; animation-iteration-count: infinite; animation-direction: alternate; }
使用简写的 animation
属性也可以实现与上例相同的动画效果:
实例
div { animation: example 5s linear 2s infinite alternate; }
CSS 动画属性
下表列出了 @keyframes 规则和所有 CSS 动画属性:
属性 | 描述 |
---|---|
@keyframes | 规定动画模式。 |
animation | 设置所有动画属性的简写属性。 |
animation-delay | 规定动画开始的延迟。 |
animation-direction | 定动画是向前播放、向后播放还是交替播放。 |
animation-duration | 规定动画完成一个周期应花费的时间。 |
animation-fill-mode | 规定元素在不播放动画时的样式(在开始前、结束后,或两者同时)。 |
animation-iteration-count | 规定动画应播放的次数。 |
animation-name | 规定 @keyframes 动画的名称。 |
animation-play-state | آنیماشن کا چلنا یا روکنا کو طے کرنا |
animation-timing-function | آنیماشن کی رفتار منحنی کو طے کرنا |
- پچھلے پیج CSS تبدیل
- پچھلے پیج CSS توجیہات