Изменение стиля прокрутки

Можно ли изменить стиль прокрутки для всех браузеров? Если да, то как?

Ответ 1

В Internet Explorer можно использовать несколько нестандартных свойств CSS scrollbar-*. См. эту страницу для удобного инструмента генератора.

Кроме того, это возможно только с помощью пользовательских JavaScript-прокрутки. jScrollPane jQuery plugin выглядит очень красиво и легко устанавливается. Здесь приведен пример страницы.

Ответ 2

Стилирование и программирование полос прокрутки в настоящее время не рассматриваются стандартами, но некоторые производители имеют расширения для решения этой проблемы в настольных веб-браузерах. Плагин jScrollPane jQuery - отличный выбор, если вы хотите использовать пользовательские полосы прокрутки.


Расширения поставщика

Internet Explorer (начиная с версии 8) имеет расширения для CSS и DOM, позволяющие указывать цвет только для разных частей полосы прокрутки.

Обновленная ссылка на документацию Microsoft: http://msdn.microsoft.com/en-us/library/ff974092(v=VS.85).aspx. Вам нужно просто посмотреть все свойства, начиная с "-ms-scrollbar".

WebKit (например, Safari и Chrome) имеет псевдоэлемент CSS для стилизации полос прокрутки, который позволяет применять к нему любое свойство CSS. Чтобы узнать больше, посмотрите это сообщение Surfin 'Safari: http://webkit.org/blog/363/styling-scrollbars/

Пример:

::-webkit-scrollbar
{
    width: 13px;
    height: 13px;
}

Mozilla (например, Firefox) и Opera, похоже, не имеют поддержки для стилизации полос прокрутки.


Пользовательские полосы прокрутки

Что касается плагина jScrollPane jQuery, это отличный выбор, если вам нужны пользовательские полосы прокрутки. Это довольно всеобъемлющий подход к решению ожидаемой функциональности полос прокрутки и позволяет вам не сворачивать свои собственные.

Важно понять, что jScrollPane заменяет собственные полосы прокрутки браузера, и вы не можете найти "прикосновение и отзывчивость" этих пользовательских полос прокрутки так же хорошо, как "настоящая вещь". Но опять же, это может быть достаточно хорошим, если вы цените форму над функцией.

Это более поздняя ссылка на документацию jScrollPane: http://jscrollpane.kelvinluck.com/

Ответ 3

Неа. IE позволяет устанавливать цвета для некоторых составных частей полосы прокрутки. Opera позволяет несколько, но не все эти стили.

Стиль оформления полосы прокрутки возрастает, поскольку пользовательские интерфейсы перемещаются к сложной тематической области прокрутки на основе изображений. В IE, установка любого из цветов возвращает рендеринг обратно в простую панель прокрутки в стиле Windows 2000 вместо простой swishy темы пользователя. Пользователи Windows Vista/7 (Aero), вероятно, не будут вам благодарны за это.

Конечно, вы можете сделать свои собственные ersatz-scrollbars из <div> и стилизовать их, как вам нравится. Но результат почти всегда ведет себя хуже, чем реальные полосы прокрутки, поскольку вы пытаетесь реплицировать сложный элемент пользовательского интерфейса, ожидаемое поведение которого отличается для каждой ОС. Вы можете потратить много времени на воспроизведение пейджингового поведения, клавиатуру вверх/вниз и колесико мыши, но она никогда не будет чувствовать себя гладкой реальной полосой прокрутки ОС.