Кратко
Скопировано:
и родственные ему псевдоэлементы — это нестандартный способ стилизовать полосу прокрутки в браузерах на движках WebKit/Blink (Chrome, Edge, Safari, Opera). Можно менять толщину, цвета, скругления и состояния отдельных частей скроллбара. Спецификации у этих селекторов нет, поведение и поддержка могут меняться.
Пример
Скопировано/* Общая ширина скроллбара */*::-webkit-scrollbar { width: 12px; /* вертикальный */ height: 12px; /* горизонтальный */}/* Трек (фон) */*::-webkit-scrollbar-track { background: #1e1f22;}/* Ползунок */*::-webkit-scrollbar-thumb { background: #6b7280; border-radius: 8px; border: 3px solid #1e1f22; /* создаём «внутренний отступ» */}/* Состояние при наведении */*::-webkit-scrollbar-thumb:hover { background: #9ca3af;}
/* Общая ширина скроллбара */ *::-webkit-scrollbar { width: 12px; /* вертикальный */ height: 12px; /* горизонтальный */ } /* Трек (фон) */ *::-webkit-scrollbar-track { background: #1e1f22; } /* Ползунок */ *::-webkit-scrollbar-thumb { background: #6b7280; border-radius: 8px; border: 3px solid #1e1f22; /* создаём «внутренний отступ» */ } /* Состояние при наведении */ *::-webkit-scrollbar-thumb:hover { background: #9ca3af; }
<div class="scrollbox"> Очень длинный контент... Очень длинный контент... Очень длинный контент...</div>
<div class="scrollbox"> Очень длинный контент... Очень длинный контент... Очень длинный контент... </div>
.scrollbox { max-height: 180px; overflow: auto; padding: 12px; background: #111216; color: #fff; border-radius: 12px;}
.scrollbox { max-height: 180px; overflow: auto; padding: 12px; background: #111216; color: #fff; border-radius: 12px; }
Как пишется
СкопированоСемейство нестандартных псевдоэлементов:
:
— вся полоса прокрутки (задаёт размеры);: - webkit - scrollbar :
— ползунок;: - webkit - scrollbar - thumb :
— трек (фон);: - webkit - scrollbar - track :
— участок трека, не занятый ползунком;: - webkit - scrollbar - track - piece :
— кнопки со стрелками;: - webkit - scrollbar - button :
— уголок при одновременных осях;: - webkit - scrollbar - corner :
— «хваталка» для изменения размера в углу.: - webkit - resizer
Используются как обычные псевдоэлементы:
.container::-webkit-scrollbar-thumb { background: #888; }
.container::-webkit-scrollbar-thumb { background: #888; }
Как понять
Скопировано- Это WebKit/Blink‑специфика. В Firefox эти селекторы не работают. Для Firefox есть стандартные свойства
scrollbar
и- width scrollbar
.- color - Рендер и доступные свойства могут отличаться между браузерами и версиями. Считайте это «best‑effort» API без гарантий стабильности.
Подсказки
Скопировано💡 Избегайте слишком толстых/ярких скроллбаров — они могут мешать контенту.
💡 Чтобы создать «зазор» внутри ползунка, используйте border
цвета трека.
💡 Проверьте тёмную/светлую темы и контрастность, особенно у thumb
и track
.
💡 Для кроссбраузерности комбинируйте подходы:
- в Firefox —
scrollbar
/- width scrollbar
;- color - в WebKit/Blink — семейство
:
.: - webkit - scrollbar