اسکرول بار اسٹائلر

استعمال کا طریقہ 3 مراحل
  1. چوڑائی اور تھمب کا رداس طے کریں۔
  2. ٹریک کا رنگ، تھمب کا رنگ اور ہوور کا رنگ چنیں۔
  3. لاگو کریں میں جگہ چنیں، پھر CSS کاپی کریں دبائیں۔

اسٹائل شدہ اسکرول بار دیکھنے کے لیے اس پینل کو اسکرول کریں۔

نیچے کی ہر تبدیلی یہاں فوراً لاگو ہوتی ہے، وہی اعلانات استعمال کرتے ہوئے جو CSS بلاک میں چھپے ہیں۔

معیاری خصوصیات پہلے آتی ہیں، پھر WebKit سیوڈو ایلیمنٹس اُن براؤزرز کے لیے متبادل کے طور پر جنہوں نے انہیں نافذ نہیں کیا۔

Firefox برسوں سے scrollbar-width اور scrollbar-color کی حمایت کرتا ہے؛ Chrome اور Safari نے انہیں نسبتاً حال میں شامل کیا اور اب بھی pseudo-element کا لحاظ رکھتے ہیں۔

تھمب اور ٹریک کے کنٹراسٹ میں اتنا فرق رکھیں کہ کنٹرول نظر آتا رہے — اسکرول بار ایک تعاملی عنصر ہے۔

مزید اسکرول کریں۔

اور مزید آگے۔

نمونہ مواد یہاں ختم ہوتا ہے۔

معیاری scrollbar-width خصوصیت صرف auto، thin یا none قبول کرتی ہے — کوئی لمبائی نہیں۔
تیار کردہ CSS

دونوں نحو لکھے جاتے ہیں کیونکہ اکیلا کوئی بھی ہر براؤزر کا احاطہ نہیں کرتا: scrollbar-width اور scrollbar-color معیاری ہیں اور Firefox میں واحد راستہ ہیں، جبکہ ::-webkit-scrollbar pseudo-element ہی وہ واحد طریقہ ہیں جس سے عین پکسل چوڑائی یا کونے کا رداس مقرر کیا جا سکے۔ جہاں دونوں لاگو ہوں، معیاری خصوصیات جیت جاتی ہیں اور پکسل چوڑائی نظرانداز ہو جاتی ہے۔ اسکرول بار کو مکمل چھپا دینا ایک نظر آنے والا اشارہ ختم کر دیتا ہے، اس لیے جس چیز کو کسی کو ڈھونڈنا ہو وہاں اس سے گریز بہتر ہے۔

یہ ٹول کیسے کام کرتا ہے

دو مختلف طریقے ایک ساتھ دیے جاتے ہیں کیونکہ ان میں سے کوئی ایک بھی اکیلا کافی نہیں۔ معیاری خصوصیات، scrollbar-width اور scrollbar-color، وہ واحد راستہ ہیں جو Firefox پیش کرتا ہے، اور وہ جان بوجھ کر محدود ہیں: چوڑائی کے لیے ایک کلیدی لفظ اور رنگوں کا ایک جوڑا، اس سے زیادہ کچھ نہیں۔ WebKit کے سیوڈو عناصر وہ واحد طریقہ ہیں جن سے پکسل میں درست چوڑائی یا کونے کا رداس مقرر ہو سکے، اور Chrome، Edge اور Safari انہیں برسوں سے سمجھتے آئے ہیں۔

اصول اسی سلیکٹر تک محدود رہتا ہے جو آپ درج کریں، اور یہ بات جتنی لگتی ہے اس سے زیادہ اہم ہے: پورے صفحے پر لگی ہوئی نئی وضع کی اسکرول بار ہر قاری کو متاثر کرتی ہے، جبکہ ایک پینل تک محدود ہو تو صرف اسی جزو کو متاثر کرتی ہے جو آپ کے پیشِ نظر تھا۔ پیش منظر اپنے سیوڈو عناصر کو مخصوص خصوصیات کے ذریعے چلاتا ہے، کیونکہ سیوڈو عنصر تک عنصر کے اندرونی اسٹائل سے نہیں پہنچا جا سکتا۔

ایک ایسے کنٹرول کی وضع بدلنا جس پر لوگ انحصار کرتے ہیں

  • پتلی اسکرول بار چھوٹا نشانہ ہے: معیاری thin کلیدی لفظ اور تنگ پکسل چوڑائی، دونوں اس رقبے کو گھٹا دیتے ہیں جس پر ماؤس سے نشانہ لگانا ہوتا ہے۔ ایسے کنٹرول پر جو راہنمائی کے لیے استعمال ہو، یہ حقیقی قیمت ہے، اور لمبے صفحات پر طے شدہ چوڑائی رہنے دینا ہی بہتر ہے۔
  • تھمب اور ٹریک کے درمیان تضاد ہی اسے قابلِ استعمال بناتا ہے: جو تھمب اپنے ٹریک سے بمشکل مختلف ہو وہ صفحے میں گم ہو جاتا ہے۔ 3:1 کی غیر متنی کم از کم حد درست ہدف ہے، کیونکہ تھمب سجاوٹ نہیں بلکہ ایک کنٹرول ہے۔
  • دونوں طریقے بالکل ایک جیسے نہیں ہوں گے: Firefox چوڑائی کو اپنے thin یا auto کے تصور کے مطابق ڈھال لیتا ہے اور رداس سرے سے نظر انداز کرتا ہے، اس لیے ایک ہی اصول براؤزروں میں ذرا مختلف دکھتا ہے — یہ ساخت ہے، خرابی نہیں۔
  • اوورلے اسکرول بار اس میں سے بیشتر کو نظر انداز کرتی ہیں: macOS اور ٹچ آلات اسکرول بار کو استعمال ہونے تک چھپائے رکھتے ہیں اور اپنے انداز میں بناتے ہیں۔ اس وضع کو پوائنٹر آلات پر ایک اضافی بہتری سمجھیں، ایسا خاکہ نہیں جس پر انحصار کیا جا سکے۔

Two syntaxes, because neither is enough

The standard properties — scrollbar-width and scrollbar-color — are the only route Firefox offers, and they are deliberately limited: a keyword for the width, a pair of colours, nothing else. No radius, no exact pixel size, no separate hover state.

The WebKit pseudo-elements can set all of that, and Chrome, Edge and Safari have understood them for years.

So the [msm_tool slug="scrollbar-styler"] emits both, and the two will never look identical. Firefox rounds the width to its own idea of thin or auto and ignores the radius entirely. That is by design rather than a bug, and it is worth knowing before you spend time trying to reconcile them.

Scope it to a panel

The rule applies to whatever selector you give it, and that choice matters more than it sounds.

Applied to the whole page, a restyled scrollbar affects every reader on every screen. Applied to a code block, a sidebar or a scrolling table, it affects only the component you meant. The main page scrollbar is a control people rely on and have muscle memory for; there is rarely a good reason to redesign it.

A thin scrollbar is a smaller target

Both the thin keyword and a narrow pixel width shrink the area a person has to hit with a mouse. On a control used for navigation that is a genuine cost, not an aesthetic one.

Motor impairments make it worse, and so does a trackpad, and so does a large monitor where the scrollbar is a long way from the pointer. On long pages, leaving the default width is usually the right answer.

Contrast between thumb and track

The thumb is an interactive control, which means it is held to 3:1 against the track rather than to any decorative standard.

A thumb that barely differs from its track disappears against the page — and the fashionable version of this style, a very pale grey thumb on a white track, fails comfortably. If the scrollbar is worth styling at all, it is worth being visible.

Overlay scrollbars ignore most of it

macOS and touch platforms draw scrollbars as overlays that hide when idle and appear briefly during a scroll. They are drawn by the operating system in its own style, and most of what you set does not apply.

Treat scrollbar styling as an enhancement on pointer devices, not as a layout you can depend on. A design that only works when the scrollbar is a specific width will break on half the machines that visit it.

Do not hide it

It is possible to make a scrollbar invisible while keeping the element scrollable. It is almost always a mistake.

The scrollbar is the only indication that there is more content, and how much. Removing it means some users never discover the rest of a list, and it removes the ability to drag to a position. Horizontal carousels with hidden scrollbars are the usual offender: what reads as a clean design to the person who built it reads as a truncated list to someone who does not know to swipe.

If the scrollbar is visually intrusive, style it to be quieter. Do not remove it.

What is worth styling

  • Code blocks and pre elements — a default scrollbar inside a dark code block looks out of place, and this is the clearest case for restyling.
  • Dark-mode surfaces — a light system scrollbar on a dark panel is jarring, and scrollbar-color alone fixes it in every browser.
  • Scrolling panels inside an application shell — sidebars, drawers, data tables.

For the last two, scrollbar-color on its own is often the whole answer. It works everywhere, it needs no prefixed block, and it solves the actual complaint.

اکثر پوچھے گئے سوالات

خاص طور پر اسکرول بار اسٹائلر کے بارے میں۔ اس زمرے سے متعلق عمومی سوالات کے جواب زمرے کے صفحے پر موجود ہیں۔

Firefox صرف معیاری خصوصیات سمجھتا ہے، اور درست چوڑائی یا رداس صرف WebKit کے سیوڈو عناصر مقرر کر سکتے ہیں۔ دونوں دینے سے ہر براؤزر شامل ہو جاتا ہے۔
معیاری خصوصیت لمبائی کے بجائے ایک کلیدی لفظ لیتی ہے، اور اس میں رداس ہے ہی نہیں۔ Firefox رنگوں کا لحاظ رکھے گا اور چوڑائی خود چنے گا۔
عموماً نہیں۔ اسے کسی پینل یا کوڈ کے خانے تک محدود رکھیں۔ صفحے کی مرکزی اسکرول بار ایک ایسا کنٹرول ہے جس پر لوگ انحصار کرتے ہیں، اور اس کی بدلی ہوئی وضع ایک اور چیز ہے جو خراب ہو سکتی ہے۔
ٹریک کے مقابل کم از کم 3:1۔ تھمب ایک تعامل والا کنٹرول ہے، اس لیے اس پر غیر متنی تضاد کی کم از کم حد لاگو ہوتی ہے، سجاوٹ کا معیار نہیں۔
ٹچ پلیٹ فارم اوورلے اسکرول بار اپنے انداز میں بناتے ہیں اور بیکار پڑی ہو تو چھپا دیتے ہیں۔ اسکرول بار کی وضع پوائنٹر آلات کے لیے ایک اضافی بہتری ہے۔

نئے ٹولز، خصوصیات اور کارکردگی بڑھانے کے مشوروں کی اطلاع پانے کے لیے سبسکرائب کریں۔