مولّد مؤشرات التحميل بلغة CSS
الدوّار يخبر المستخدم بأن شيئًا ما يحدث. يولّد هذا المولّد دوّارًا دائريًا واحدًا بـ CSS: اضبط القطر وسماكة الحدود واللون المميّز وسرعة الدوران، وشاهد المعاينة المباشرة، ثم انسخ كود CSS. كل شيء بـ CSS خالص، بلا SVG وبلا JavaScript وبلا مكتبات خارجية.
كيفية استخدام المولّد
-
1
اضبط الحجم
قطر الدوّار بالبكسل. نطاق 40-80 بكسل يناسب معظم الأزرار ومناطق المحتوى.
-
2
اضبط سماكة الحدود
الحلقة هي حدود مرسومة على دائرة. الحدود الأسمك تجعل القوس أوضح؛ ويُفضَّل 4-8 بكسل عند قطر 60 بكسل.
-
3
اختر اللون
اللون المميّز للقوس الدوّار. يبقى باقي الحلقة رماديًا فاتحًا ليبرز القوس.
-
4
اضبط السرعة وانسخ كود CSS
مدة الدورة الكاملة بالثواني. ثانية واحدة تقريبًا هي النقطة المثالية الشائعة؛ أقل من 500 مللي ثانية يبدو محمومًا، وأكثر من ثانيتين يبدو بطيئًا.
كيف يعمل كود CSS المُولَّد
.loader {
width: 60px;
height: 60px;
border: 6px solid #eee;
border-top-color: #10b981;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
الدوّار دائرة مرسومة بحدود سميكة. الخاصية border-top-color تلوّن الجزء العلوي من الحلقة فقط باللون المميّز، فيبدو شكل الحلقة كقوس، وتديره قاعدة @keyframes spin حول مركزها. الدوران عبر transform: rotate() يبقي الرسوم المتحركة خفيفة، لأن المتصفح يحرّك العنصر على طبقة التركيب بدلًا من إعادة رسمه إطارًا بإطار.
لعرضه في صفحة، أضف عنصرًا واحدًا وحمّل كود CSS:
<div class="loader" role="status" aria-label="جارٍ التحميل"></div>
اجعله في متناول الجميع
- أضف
role="status"كي تعلن قارئات الشاشة عن الدوّار. - ضع
aria-labelبنص الحالة، مثل «جارٍ التحميل». - لا تُخفِ المحتوى خلف الدوّار لأكثر من بضع ثوانٍ دون آلية احتياطية عند انتهاء المهلة.
- احترم
prefers-reduced-motion. لمن عطّل الحركة، استبدل الدوران بتلاشٍ بسيط أو بنصٍّ ثابت «جارٍ التحميل…»:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
متى تستخدم الدوّار ومتى تستخدم الواجهة المتفائلة
- استجابة أقل من 100 مللي ثانية: لا حاجة إلى دوّار؛ فالعين البشرية بالكاد تدرك التأخير.
- من 100 مللي ثانية إلى ثانية واحدة: دوّار خفيف (دائرة صغيرة، نص زرّ «جارٍ التحميل…») يمنع النقرات المزدوجة.
- من ثانية إلى 10 ثوانٍ: دوّار بارز، ويُفضّل أن يعرض التقدّم إن كان قابلاً للقياس.
- أكثر من 10 ثوانٍ: ليست مشكلة دوّار؛ اكتشف ما هو البطيء وأصلحه.
بالنسبة إلى إرسال النماذج والنقر على الأزرار، عادةً ما يكون الدوّار داخل الزرّ أفضل من طبقةٍ تغطّي الصفحة بأكملها.
الأسئلة الشائعة
استخدم CSS للدوّارات البسيطة ذات العنصر الواحد (حيلة التدوير ذات الحدود الأربعة). واستخدم SVG عندما تحتاج إلى ذيل متناقص، أو رسوم متحركة متعددة بخاصية stroke-dasharray، أو أجزاء مملوءة تبدو كضربات فرشاة. فـ CSS أصغر وأبسط، وSVG أكثر مرونة.
على الأرجح لأنك تُدوّر عنصرًا كبيرًا أو تحرّك خاصية غير مركَّبة. أبقِ حجم الدوّار صغيرًا، واستخدم transform: rotate() (لا top/margin)، وتجنّب تشغيله أثناء عمل رسوم متحركة ثقيلة أخرى.
في اتجاه عقارب الساعة في معظم الحالات تقريبًا. يبدو الدوران عكس عقارب الساعة خاطئًا على نحوٍ خفيّ، لأن معظم إشارات الدوران الواقعية (الساعات وطواحين الهواء) تسير في اتجاه عقارب الساعة. التزم بالعُرف السائد ما لم يكن لديك سبب محدّد.
باستخدام setTimeout(..., 300) في JavaScript يضيف صنف مؤشر التحميل، مع clearTimeout إذا انتهت العملية أولًا. يمنع ذلك الوميض عند الاستجابات السريعة دون إخفاء التأخيرات الحقيقية.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
منسق JSON
الصق JSON لتنسيقه بمسافتين أو أربع مسافات، أو تصغيره إلى ناتج مضغوط، أو فحص بنيته بسرعة قبل نسخ النتيجة.
مولد لوحة الألوان
أنشئ لوحات ألوان أحادية أو متجاورة أو مكملة أو ثلاثية أو رباعية من لون HEX أساسي، ثم صدّر متغيرات CSS جاهزة للنسخ.
الأداة متاحة بلغات أخرى
- CSS 로딩 애니메이션 생성기 [KO]
- Trình tạo CSS Loader [VI]
- CSS-loadergenerator [NL]
- CSS 加载动画生成器 [ZH]
- CSS-Loader-Generator [DE]
- CSS Loader Generator [EN]
- Generator Loader CSS [ID]
- CSS-laddningsgenerator [SV]
- Generator loaderów CSS [PL]
- เครื่องมือสร้าง CSS Loader [TH]
- Generador de Cargadores CSS [ES]
- Générateur de chargeur CSS [FR]
- Gerador de Loader CSS [PT]
- CSSローディングアニメーション生成ツール [JA]
- CSS Yükleyici Oluşturucu [TR]
- Generatore di Loader CSS [IT]
- Генератор CSS-загрузчиков [RU]