@keyframes, animation-duration/iteration-count/direction va real UI animatsiyalari — misol, test va amaliy topshiriqlar bilan.
styles.cssCSS@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }}.element {animation: fadeIn 0.5s ease-in;}
styles.cssCSS@keyframes bounce {0%, 100% { transform: translateY(0); }50% { transform: translateY(-20px); }}.ball {animation: bounce 1s infinite ease-in-out;}
⚠️ Common Mistake
animation-iteration-count: infiniteni har qanday elementga beparvo qo'llash — bu foydalanuvchini charchatishi va performance muammosi tug'dirishi mumkin.
Task: fadeIn animatsiyasini yarating va uni sahifa yuklanganda elementga qo'llang.
Task: Loading spinner yarating — @keyframes bilan rotate(0deg) dan rotate(360deg) gacha, infinite linear bilan.
Task: Notification "toast" animatsiyasi yarating — pastdan yuqoriga suzib chiqadi (translateY + opacity), 3 soniyadan keyin avtomatik yo'qoladi.
styles.cssCSS@keyframes slide {from { left: 0; }to { left: 100px; }}.box { animation: slide 1s; }
Your Task: Bu animatsiya ishlaydi, lekin sekin (jerky) ko'rinadi. Qanday yaxshilash mumkin?
<details> <summary>Solution</summary> `left` xususiyati Layout'ni qayta hisoblashga majburlaydi (reflow), bu sekin va "jerky" animatsiyaga olib kelishi mumkin. Yechim: `left` o'rniga `transform: translateX()` ishlatish — bu GPU-accelerated va silliqroq. </details>@keyframes animatsiyaning turli bosqichlarini belgilaydi (0%-100% yoki from-to). animation xususiyati orqali bu keyframe'lar elementga duration, iteration-count va boshqa parametrlar bilan qo'llaniladi.
transform/opacity afzal, left/top/width emasinfinite faqat kerakli holatlarda (loading, dekorativ effekt) ishlatilsin0%, 50%, 100%) murakkab animatsiyalar uchun imkoniyat beradistyles.cssCSS@keyframes name {0% { }50% { }100% { }}animation: name duration timing-function iteration-count direction;
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslik ichidagi interaktiv muharrirda berilgan barcha amaliy topshiriqlarni bajaring va avto-tekshiruvdan o‘ting.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Laboratoriya
Laboratoriya muharririda testlarni topshiring
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: