Кратко
Скопировано: и родственные ему псевдоэлементы — это нестандартный способ стилизовать полосу прокрутки в браузерах на движках 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