نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
CSS

منهج CSS

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج CSS/التحكم في تدفق الرسوميات (delay, iteration-count, direction, fill-mode, play-state)

التحكم في تدفق الرسوميات (delay, iteration-count, direction, fill-mode, play-state)

animation-delayanimation-fill-modeanimation-iteration-countcss animation control

الشرح

**animation-delay:** تأخير بداية الأنيميشن. قيم سالبة تبدأ من منتصف الحلقة.

**animation-iteration-count:** عدد التكرارات: - رقم: 1, 2, 3... - `infinite` — لانهائي

**animation-direction:** اتجاه حلقات الأنيميشن: - `normal` — من from إلى to (الافتراضي) - `reverse` — من to إلى from - `alternate` — طبيعي ثم عكسي ثم طبيعي... - `alternate-reverse` — عكسي ثم طبيعي...

**animation-fill-mode:** ما يحدث للعنصر خارج الأنيميشن: - `none` — يعود لحالته الأصلية - `forwards` — يبقى في حالة نهاية الأنيميشن - `backwards` — يأخذ حالة البداية قبل البدء (خلال delay) - `both` — forwards + backwards معاً

**animation-play-state:** `running` أو `paused`

**إيقاف عند hover:** `.element:hover { animation-play-state: paused; }`

الصياغة (Syntax)

syntax
1/* أنيميشن احترافي */
2.animated-item {
3 animation:
4 slideIn 0.5s ease-out both,
5 pulse 3s ease-in-out 0.5s infinite alternate;
6}
7
8/* تأخير تدريجي للعناصر */
9.item:nth-child(1) { animation-delay: 0s; }
10.item:nth-child(2) { animation-delay: 0.1s; }
11.item:nth-child(3) { animation-delay: 0.2s; }

أمثلة عملية

مثال 1: قائمة تظهر بتسلسل

قائمة تظهر بتسلسل
1@keyframes slideIn {
2 from { opacity: 0; transform: translateX(-20px); }
3 to { opacity: 1; transform: translateX(0); }
4}
5
6.menu-item {
7 animation: slideIn 0.4s ease-out both;
8}
9
10.menu-item:nth-child(1) { animation-delay: 0.0s; }
11.menu-item:nth-child(2) { animation-delay: 0.08s; }
12.menu-item:nth-child(3) { animation-delay: 0.16s; }
13.menu-item:nth-child(4) { animation-delay: 0.24s; }
14.menu-item:nth-child(5) { animation-delay: 0.32s; }
15
16/* إيقاف عند hover */
17.animated-icon:hover { animation-play-state: paused; }
18
19/* مراعاة المستخدمين الحساسين للحركة */
20@media (prefers-reduced-motion: reduce) {
21 .menu-item { animation: none; }
22}

نصائح احترافية

  • —animation-fill-mode: both هي القيمة الأكثر فائدة في معظم الحالات.
  • —تأخيرات تصاعدية (0, 0.1, 0.2...) تصنع تأثير staggered رائعاً.
  • —دائماً أضف @media (prefers-reduced-motion) للمستخدمين الحساسين للحركة.

الدرس السابق

صناعة الرسوميات المتحركة (@keyframes, animation-name, duration, timing-function)

الدرس التالي

المتغيرات الأصلية في CSS (Custom Properties / Variables: --var)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر