عن المكتبة :
الأنيميشن (Animation) في لغة CSS هو عملية تغيير الحالة أو الخواص الأساسية لعنصر HTML مع مرور الوقت، مما يخلق تأثير حركي. يمكن استخدام الأنيميشن لإضفاء حيوية وجاذبية على صفحة الويب، وجعل تفاعل المستخدم مع الموقع أكثر تفاعلاً وسلاسة.
يتم إنشاء الأنيميشن في CSS عن طريق تعريف مفتاح الأنيميشن (Animation keyframes)، الذي يحدد مراحل التغييرات التي يجب أن يمر بها العنصر أثناء الأنيميشن. ثم يتم تعريف الأنيميشن نفسها عن طريق تحديد خصائص الأنيميشن مثل المدة والتأخير ونوع الترجيع (Easing)، وربطها بمفتاح الأنيميشن المحدد.
يمكن تطبيق الأنيميشن على أي خاصية من خواص العناصر في CSS، مثل الحجم والشكل والموضع واللون والشفافية والزاوية وغيرها. ويمكن أيضاً تحديد عدة أنواع من الأنيميشن، مثل الدوران والتحريك والتلاشي والتدرج اللوني والظهور والاختفاء، وغيرها الكثير.
الأنيميشن له العديد من المميزات، ومنها:
1- جذب انتباه المستخدمين: يساعد الأنيميشن على جذب انتباه المستخدمين وجعلهم يتفاعلون بشكل أفضل مع صفحات الويب.
2- تحسين تجربة المستخدم: يمكن استخدام الأنيميشن لتحسين تجربة المستخدم وجعلها أكثر سلاسة وسهولة.
3- توضيح التغييرات: يساعد الأنيميشن على توضيح التغييرات التي يتم إجراؤها على الصفحة، مما يساعد على فهمها بشكل أفضل.
4- تعزيز الاتصال: يمكن استخدام الأنيميشن لتعزيز الاتصال بين المستخدم والصفحة، وجعل الصفحة تبدو أكثر بشاعرية.
5- إضفاء الحيوية والديناميكية: يمكن استخدام الأنيميشن لإضفاء الحيوية والديناميكية على صفحات الويب، وجعلها تبدو أكثر جاذبية.
6- تحسين تصميم الصفحة: يمكن استخدام الأنيميشن لتحسين تصميم الصفحة وجعلها تبدو أكثر احترافية وجمالية.
7- توفير الوقت: يمكن استخدام الأنيميشن لتوفير الوقت وتقليل عدد النقرات والإجراءات اللازمة للوصول إلى محتوى معين على الصفحة.
8- توفير المساحة: يمكن استخدام الأنيميشن لتوفير المساحة وتجنب استخدام العديد من العناصر على الصفحة، مما يساعد على تحسين تجربة المستخدم.
شكل من اشكال الانيميشن :
يمكن استخدام عدة عناصر لتحديد الأنيميشن في CSS، وهي:
1- @keyframes: هذا العنصر يستخدم لتحديد سلسلة من حركات الأنيميشن التي سيتبعها العنصر على مدار فترة زمنية محددة.
2- animation-name: يستخدم لتحديد اسم الأنيميشن المحدد في @keyframes.
3- animation-duration: يستخدم لتحديد مدة الأنيميشن.
4- animation-timing-function: يستخدم لتحديد السرعة التي يتم بها تنفيذ الأنيميشن.
5- animation-delay: يستخدم لتحديد فترة التأخير قبل بدء تنفيذ الأنيميشن.
6- animation-iteration-count: يستخدم لتحديد عدد المرات التي سيتم بها تنفيذ الأنيميشن.
7- animation-direction: يستخدم لتحديد اتجاه الأنيميشن، هل يتحرك العنصر إلى الأمام أم إلى الخلف.
8- animation-fill-mode: يستخدم لتحديد ماذا يحدث للعنصر بعد انتهاء الأنيميشن.
9- animation-play-state: يستخدم لتحديد حالة تشغيل الأنيميشن، هل هو يعمل أم يتوقف.
10- animation-iteration-count: هذا العنصر يستخدم لتحديد عدد المرات التي سيتم بها تنفيذ الأنيميشن. يمكن تحديد قيمة "infinite" لتشغيل الأنيميشن بلا توقف.
12- animation-direction: يستخدم هذا العنصر لتحديد اتجاه الأنيميشن، هل يتحرك العنصر إلى الأمام أم إلى الخلف. يمكن تحديد القيمة "reverse" لتغيير اتجاه الأنيميشن.
13- animation-delay: يستخدم هذا العنصر لتحديد فترة التأخير قبل بدء تنفيذ الأنيميشن. يمكن تحديد الوقت المطلوب في القيمة.
14- animation-fill-mode: يستخدم هذا العنصر لتحديد ماذا يحدث للعنصر بعد انتهاء الأنيميشن. يمكن تحديد القيمة "forwards" للحفاظ على حالة العنصر بعد انتهاء الأنيميشن.
15- animation-play-state: يستخدم هذا العنصر لتحديد حالة تشغيل الأنيميشن، هل هو يعمل أم يتوقف. يمكن تحديد القيمة "paused" لإيقاف الأنيميشن مؤقتًا.
16- animation-timing-function: يستخدم هذا العنصر لتحديد السرعة التي يتم بها تنفيذ الأنيميشن. يمكن تحديد مختلف القيم مثل "ease", "linear", "ease-in-out" وغيرها.
17- transform: يستخدم هذا العنصر لتحريك العنصر عن طريق تحويله. يمكن تحديد القيم المختلفة للتحويل مثل "translate", "rotate", "scale" وغيرها.
18- transition: يستخدم هذا العنصر لتحديد التحول السلس للعنصر عند التغيير من حالة إلى أخرى. يمكن تحديد القيم المختلفة للتحول مثل "transition-property", "transition-duration", "transition-timing-function" وغيرها.
موقع لانشاء الانيميشن موقع رائع جدأ من هنا