Настройка высоты горизонтального скроллбара CSS: руководство
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Для быстрой настройки стиля горизонтального скроллбара в Chrome и Safari используйте псевдоэлемент ::-webkit-scrollbar
:
/* Кастомизируем дорожку прокрутки */
::-webkit-scrollbar {
height: 10px;
background: #f2f2f2;
}
/* Оформляем ползунок */
::-webkit-scrollbar-thumb {
background: #888;
border-radius: 5px;
}
Учтите, что для корректной работы в различных браузерах рассмотрите применение JS-библиотек для стилизации скроллбаров.
Дополнительные возможности: повышаем UX с помощью стилизации скроллбара
Стилизация скроллбаров может акцентировать внимание на визуальной составляющей вашего сайта, если это не влияет на его функциональность.
- Применяйте медиа-запросы для адаптации стиля скроллбаров под различные разрешения экранов.
- Регулируйте видимость скроллбара с помощью свойства
overflow
.
Внимание на: кроссбраузерную совместимость
::-webkit-scrollbar
не поддерживается всеми браузерами. В качестве альтернатив можно предложить псевдо-селекторы CSS3 и JS-библиотеки, такие как Perfect Scrollbar.
::-webkit-scrollbar
корректно отображается в Chrome, Safari и новых версиях Edge.- В Firefox можно применять свойства
scrollbar-color
иscrollbar-width
. - Универсальная совместимость на данный момент лучше всего обеспечивается с помощью решений на базе JavaScript.
Стандартизация стилизации скроллбаров
Стандарт W3C CSS Scrollbar Module Level 1 стремится унифицировать стилизацию скроллбаров между браузерами. Однако, всегда имеет смысл проверять актуальность информации о поддержке на caniuse.com.
Визуализация
Сферой применения стилизации горизонтального скроллбара можно считать выбор аксессуаров для простого, но функционального скейтборда:
Обычный Скейтборд: 🛹────────────
Примените ваш уникальный стиль CSS:
/* Пример оформления ползунка */
::-webkit-scrollbar-thumb {
background: 🎨; /* Ваш выбор цвета */
border-radius: 🌗; /* Степень закругления */
}
/* Оформление трека */
::-webkit-scrollbar-track {
background: 🌥️; /* Контрастный цвет по вашему выбору */
}
Теперь ваш скейтборд (а также его пользователь) выделяется среди остальных:
Персонализированный Скейтборд: 🛹🎨🌗🌥️───────
Продвинутые методы: улучшение управляемости
Динамические скроллбары могут менять цвет при происхождении событий, например, при наведении или прокрутке. Эффект border
может добавить дополнительные краски и стиль. Рекомендуем изучить возможности экспериментирования с псевдоэлементами, такими как ::-webkit-scrollbar-button
.
Приоритет — доступность
При стилизации скроллбаров важно прежде всего обеспечивать доступность сайта. Обеспечивайте контраст между ползунком и дорожкой прокрутки и помните, что более крупный скроллбар во многом облегчает пользование сайтом людям с ограниченными возможностями в движении.
Рекомендации по оптимизации: соблюдаем баланс производительности и эстетики
Поддержка высокой производительности и привлекательного внешнего вида часто зависит от следующих аспектов:
- Предпочтение CSS-решений, где это возможно.
- Проведение исчерпывающих тестирований.
- Применение оптимизированных изображений, если они используются.
Полезные материалы
- Стандартизация скроллбаров с использованием CSS – MDN — подробная документация MDN по стандартизации скроллбаров с использованием CSS.
- Современная проблематика стандартизации скроллбаров с использованием CSS (Обзор 2022 года) – CSS-Tricks — всесторонний обзор проблематики стандартизации скроллбаров с использованием CSS.
- Модуль стандартизации скроллбаров Level 1 – W3C — официальная спецификация W3C по стандартизации скроллбаров с использованием CSS.
- Поддержка браузерами функционала стандартизации скроллбара с использованием CSS – Can I use — таблицы совместимости для проверки поддержки браузерами функционала стандартизации скроллбара с использованием CSS.
- Персонализация скроллбаров в элементе div с использованием CSS – Stack Overflow — обсуждение в сообществе на тему персонализации скроллбаров в элементе
div
. - Reddit – Погружение в любую тему — дискуссия на Reddit, посвященная исследованию стандартизации скроллбаров с использованием CSS.