مولّد Keyframes CSS

النتائج

تعرف قاعدة @keyframes محطات الحركة الأساسية: كيف يبدو العنصر في البداية والوسط والنهاية. هذا المولّد يكتب القاعدة لأربع حركات شائعة: الانحلال والانزلاق، والنبض، والدوران، والارتداد. سمِّ الحركة، واضبط مدتها، ولحركتي الانزلاق والارتداد مسافة الانتقال بالبكسل. الناتج هو الصيغة المختصرة animation بالإضافة إلى كتلة @keyframes، جاهزة للصق في ورقة الأنماط.

كيف تنشئ keyframes

  1. 1

    اختر نوع الحركة

    انحلال مع انزلاق، أو نبض، أو دوران، أو ارتداد. تأتي كل صيغة جاهزة بإطاراتها.

  2. 2

    سمِّ الحركة

    اسم بصيغة kebab-case مثل `fade-slide`، يُستخدم لاحقًا في الصيغة المختصرة `animation`.

  3. 3

    اضبط المدة

    بالثواني، مثل 0.6 لانتقال سريع.

  4. 4

    اضبط المسافة (الانزلاق والارتداد)

    مسافة الانتقال بالبكسل، المستخدمة في الحركة الرأسية.

  5. 5

    انسخ CSS

    الصيغة المختصرة وكتلة `@keyframes`، جاهزتان لورقة الأنماط.

الصيغ الأربع

الانحلال مع الانزلاق

.animated {
  animation: fade-slide 0.6s ease both;
}

@keyframes fade-slide {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

يظهر العنصر بينما ينزلق إلى الأعلى من الأسفل.

النبض

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.05); opacity: .8; }
}

تأثير تنفس لطيف، مناسب لنقاط الإشعارات والشارات.

الدوران

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

دورة كاملة، مفيدة لمؤشرات التحميل والأيقونات.

الارتداد

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-24px); }
}

يقفز العنصر إلى الأعلى ثم يعود.

لماذا transform و opacity؟

تُركّب المتصفحات transform وopacity على وحدة معالجة الرسومات دون إعادة حساب التخطيط أو الرسم، لذلك يظل تحريكهما سلسًا. تتجنب الصيغ عن قصد الخصائص التي تحفز حساب التخطيط.

الصيغة المختصرة animation

تُقرأ animation: fade-slide 0.6s ease both; هكذا: حركة باسم fade-slide، مدتها 0.6 ثانية، بمنحنى ease الافتراضي. وضع التعبئة both يطبق حالة البداية قبل انطلاق الحركة ويحافظ على حالة النهاية بعد اكتمالها، ما يمنع العنصر من الوميض قبلها أو الارتداد فجأة بعدها.

قواعد التسمية

  • استخدم kebab-case وفق اصطلاح CSS.
  • صف الحركة لا العنصر: fade-in-up أفضل من alert-appear.
  • تجنب الأسماء التي قد تتعارض مع مكتبات خارجية.

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

@keyframes شامل، مدعوم في كل متصفح منذ IE 10.

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

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

المسافة هي الانتقال الرأسي بالبكسل لصيغتي الانزلاق والارتداد: تبدأ حركة الانحلال والانزلاق من 24px في الأسفل ثم تنزلق للأعلى، بينما يرتد الارتداد 24px إلى الأعلى ثم يعود. صيغة الدوران لا تستخدمها.

نعم، الناتج CSS خالص. استبدل ease بأي كلمة مفتاحية للمنحنى أو بقيمة cubic-bezier(...)، وأضف نسبًا مئوية وسيطة مثل 25% أو 75% داخل كتلة @keyframes لتشكيل الحركة أكثر.

لأن إعادة العرض من إطار العمل قد تعيد تطبيق الفئة وتشغل الحركة من جديد. استخدم animation-fill-mode: both (موجودة بالفعل في الناتج) للاحتفاظ بحالة النهاية، أو افصل مشغل الحركة عن العنصر المعاد عرضه.

أدوات ذات صلة

الأداة متاحة بلغات أخرى