مولّد شريط التمرير CSS
كانت أشرطة التمرير المخصّصة فيما مضى كابوسًا من العناصر الزائفة ذات البادئات الخاصة بالمورّدين. أما اليوم، فتغطّي scrollbar-color وscrollbar-width الحالات الشائعة في جميع المتصفحات الحديثة: عرض ضيّق أو عادي، وسمة بلونين (المقبض والمسار). وللتحكم على مستوى البكسل (الحشو الداخلي للمسار، ونصف قطر المقبض، وحالات التمرير فوقه) لا تزال العناصر الزائفة القديمة ::-webkit-scrollbar تعمل في Chrome وSafari. يُنتج هذا المولّد النوعين معًا ويرتّبهما تراتبيًا على النحو الصحيح.
كيفية تنسيق شريط التمرير
-
1
اختر العرض
تلقائي (العرض الافتراضي للمنصّة)، أو رفيع (أضيق)، أو قيمة بكسل محدّدة عبر قواعد webkit.
-
2
حدّد لوني المقبض والمسار
تأخذ `scrollbar-color` الحديثة لونين. أما قواعد webkit فتتيح لونًا ونصف قطر وحالات تمرير فوقه بشكل منفصل.
-
3
أضف تأثير التمرير فوقه (اختياري)
يصبح المقبض أفتح عند التمرير فوقه. يعمل عبر `::-webkit-scrollbar-thumb:hover`.
-
4
حدّد النطاق
طبّقه على `html` / `body` (الصفحة بأكملها)، أو على حاوية تمرير محدّدة فقط.
-
5
انسخ CSS
قواعد حديثة وقواعد webkit مجتمعة: تعمل في كل متصفح حديث مع تراجع سلس.
الخصائص القياسية الحديثة (2023 فما بعد)
/* Applies to the element that scrolls */
html {
scrollbar-width: thin; /* auto | thin | none */
scrollbar-color: #4f46e5 #e5e7eb; /* thumb track */
}
دعم المتصفحات (2024):
scrollbar-width: Chrome 121+، Safari 18.2+، Firefox 64+.scrollbar-color: Chrome 121+، Safari 18.2+، Firefox 64+.scrollbar-gutter: stable: Chrome 94+، Safari 14+، Firefox 97+. يحجز مساحة شريط التمرير حتى عند عدم الحاجة إليها، مما يمنع إزاحة التخطيط.
العناصر الزائفة لـ webkit (Chrome، Safari، Edge الأقدم)
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: #e5e7eb;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: #3730a3;
}
تحكّم أدقّ. تحدّد width عرض شريط التمرير العمودي، وتحدّد height ارتفاع شريط التمرير الأفقي. أضِف كليهما للحاويات التي يمكن أن تُمرَّر في أيّ اتجاه.
ترتيب النهجين تراتبيًا
حدّد القواعد الحديثة أولًا، ثم webkit كتحسين للمتصفحات التي تعرض النوعين:
.scroll-area {
scrollbar-width: thin;
scrollbar-color: #4f46e5 #e5e7eb;
}
.scroll-area::-webkit-scrollbar { width: 8px; }
.scroll-area::-webkit-scrollbar-track { background: #e5e7eb; }
.scroll-area::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 4px;
border: 2px solid #e5e7eb;
}
يلتزم Firefox بقواعد scrollbar-* الحديثة فقط. ويلتزم Chrome وSafari بقواعد webkit (التي تتجاوز القواعد الحديثة، فيبقى السلوك متّسقًا).
scrollbar-gutter يمنع إزاحة المحتوى
بدون مساحة محجوزة، يُعاد تدفّق المحتوى عند ظهور شريط التمرير (شائع في القوائم الديناميكية). الحل:
html { scrollbar-gutter: stable; }
/* or */
html { scrollbar-gutter: stable both-edges; }
تُحجَز مساحة شريط التمرير سواء تمرّر المحتوى أم لا. يضيف both-edges مساحة مماثلة على الجانب المقابل لإبقاء المحتوى موسّطًا بصريًا.
إخفاء أشرطة التمرير بالكامل
.no-scrollbar {
scrollbar-width: none; /* Firefox */
}
.no-scrollbar::-webkit-scrollbar { display: none; } /* Chrome, Safari */
كن حذرًا: إخفاء شريط التمرير يمنع المستخدمين من إدراك أنّ المحتوى قابل للتمرير. استخدمه فقط مع مؤشّر واضح (أسهم، نقاط صفحات)، أو عندما يكون سلوك التمرير بديهيًا من السياق (الدوّارات الأفقية، سجلّات المحادثة).
اعتبارات الأجهزة المحمولة
على iOS وAndroid، لا تظهر أشرطة التمرير إلا للحظة أثناء التمرير. يظلّ ملف CSS المخصّص لشريط التمرير مطبَّقًا، لكن قد لا يراه المستخدمون أكثر من ثانية. صمّم وفقًا لذلك: لا تبالغ في الاستثمار في لمسات بصرية نادرًا ما تظهر.
إمكانية الوصول
- التباين: ينبغي أن يحقّق المقبض مقابل المسار نسبة 3:1 للتباين غير النصّي (WCAG 1.4.11).
- العرض: قد يصعب الإمساك بأشرطة التمرير الرفيعة بالفأرة، خاصةً للمستخدمين ذوي الإعاقات الحركية. العرض العادي إعداد افتراضي أكثر أمانًا.
- لا تُزِل شريط التمرير أبدًا في المناطق القابلة للتمرير دون توفير وسيلة تمرير أخرى، وإلا فسيتعطّل المستخدمون الذين يعتمدون عليه.
الأسئلة الشائعة
نعم، باستخدام الخاصّيتين الحديثتين scrollbar-width وscrollbar-color. لا يدعم Firefox العناصر الزائفة الخاصة بـ webkit، لذا للحصول على مظهر متّسق عبر المتصفحات استخدم الخصائص الحديثة أولًا، ثم أضِف قواعد webkit كتحسين.
لأنّ أشرطة التمرير الافتراضية تتراكب مع المحتوى ولا تحجز مساحةً حتى الحاجة إليها. اضبط scrollbar-gutter: stable على العنصر القابل للتمرير لحجز المساحة دائمًا، مما يمنع إعادة التدفّق عند ظهور شريط التمرير أو اختفائه.
عادةً نعم، لأنّ شريط التمرير يبدو في غير موضعه ويزاحم المحتوى. أضِف نقاط ترقيم صفحات مرئية أو أزرار أسهم كي يظلّ المستخدمون على علم بأنّ المحتوى قابل للتمرير. واحترم prefers-reduced-motion إذا كنت تستخدم الالتقاط أثناء التمرير (scroll-snapping).
قد يؤثّر. يصعب استخدام أشرطة التمرير الرفيعة جدًا أو المنخفضة التباين على المستخدمين ذوي الإعاقات الحركية وضعاف البصر. حافظ على عرض شريط التمرير عند 8–10 بكسل على الأقل لسهولة الإمساك، واحفظ تباينًا بنسبة 3:1 بين المقبض والمسار.
أدوات ذات صلة
مرجع جدول 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 thanh cuộn CSS [VI]
- CSS-schuifbalkgenerator [NL]
- CSS滚动条生成器 [ZH]
- CSS-Scrollbar-Generator [DE]
- CSS Scrollbar Generator [EN]
- Generator Bilah Gulir CSS [ID]
- CSS-generator för rullningslist [SV]
- Generator paska przewijania CSS [PL]
- เครื่องสร้างแถบเลื่อน CSS [TH]
- Generador de barra de desplazamiento CSS [ES]
- Générateur de barre de défilement CSS [FR]
- Gerador de barra de rolagem CSS [PT]
- CSSスクロールバージェネレーター [JA]
- CSS Kaydırma Çubuğu Oluşturucu [TR]
- Generatore di barre di scorrimento CSS [IT]
- Генератор CSS-скроллбара [RU]