خاصية animation

آخر تحديث: 2026-09-13

animation خاصية animation

الخاصية animation هي اختصار لـ animation-name و animation-duration و animation-timing-function و animation-delay و animation-iteration-count و animation-direction و animation-fill-mode و animation-play-state. وبالاقتران مع @keyframes، تُعرّف تسلسلات رسوم متحركة متعددة المراحل وقابلة للتكرار والإيقاف المؤقت. وعلى عكس transition، تُشغَّل animation تلقائيًا دون محفّز، ما يجعلها مثالية لأدوات التحميل والعروض الدوّارة والتأثيرات النابضة وغيرها من العناصر البصرية المستمرة.

الفئة
القيمة الأوليةnone
موروثلا
ينطبق علىجميع العناصر
نوع الحركةdiscrete
إصدار CSSCSS3
الحالةقياسي

📝 التركيب

animation: [ none | <single-animation> ]#;
/* <single-animation> = <time> || <easing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ] */

⚙️ القيم

القيمةالنوعالوصف
<single-animation>#القيمةاختصار الرسم المتحرك: الاسم والمدة ودالة التوقيت والتأخير وعدد التكرارات والاتجاه ووضع التعبئة وحالة التشغيل

▶ مثال

عدّل الكود أدناه وشاهد النتيجة المباشرة في الملعب:

🌐 دعم المتصفحات

المتصفح ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
animation v43 v12 v16 v9 v30
مدعوم في جميع المتصفحات الرئيسية
تلميح: ترتيب القيم غير مهم، لكن أول قيمة تُفسَّر كوقت هي المدة والثانية هي التأخير. وتجنّب تسمية keyframe تتعارض مع كلمة محجوزة.
مهم: إذا لم يتضمن اختصار animation اسمًا (animation-name)، فإن الإعلان بالكامل غير صالح. يُوصى عمومًا بإدراج الاسم داخل الاختصار لضمان تشغيل الرسم المتحرك فعلًا.

❓ الأسئلة الشائعة

Qهل يمكن إيقاف الرسم المتحرك CSS مؤقتًا في المنتصف ثم استئنافه؟
Aنعم. اضبط animation-play-state: paused للإيقاف المؤقت و running للاستئناف. وأكثر الأنماط شيوعًا هو اقترانه بـ :hover ليتوقف الرسم مؤقتًا أثناء وجود المؤشر فوق العنصر. أثناء الإيقاف، يبقى الرسم عند الإطار الحالي، وعند الاستئناف يكمل من حيث توقف تمامًا.
Qكيف أجعل الرسم المتحرك يُشغَّل مرة واحدة ويتوقف عند الإطار الأخير؟
Aاستخدم animation-fill-mode: forwards الذي يُبقي العنصر عند إطاره المفتاحي الأخير بعد انتهاء الرسم المتحرك، واضبط animation-iteration-count على 1. وإذا أردت أيضًا أن يحتفظ العنصر بحالته الابتدائية قبل بدء الرسم، فاستخدم animation-fill-mode: both. هذه هي الطريقة القياسية لتشغيل رسم متحرك للظهور أو الكشف لمرة واحدة.
Qفي اختصار animation، أي وقت هو المدة وأي وقت هو التأخير؟
Aأول قيمة تُفسَّر كوقت هي المدة والثانية هي التأخير. في animation: bounce 1.5s 0.5s ease، تكون 1.5s مدة التشغيل ويبدأ الرسم بعد تأخير 0.5s. وعند إعطاء وقت واحد فقط، فهو المدة والتأخير يكون 0s افتراضيًا. والخلط بين الزمنين هو الخطأ الأكثر شيوعًا في الاختصار.
Qرسمي المتحرك متقطع ويسقط إطارات. كيف أجعله أكثر سلاسة؟
Aحرّك transform و opacity فقط، وتجنّب تحريك width و height و filter أو خصائص أخرى تُجبر المتصفح على إعادة التدفق وإعادة الرسم في كل إطار. أضف will-change إلى العنصر المتحرك لإنشاء طبقة تركيب مسبقًا، واستخدم التموضع المطلق لإخراجه من تدفق المستند. والتأخير السلبي animation-delay يتخطى البداية ويقفز مباشرة إلى المنتصف.

📚 دروس ذات صلة

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%