Дополнительно
Пользовательская полоса прокрутки CSS для Firefox
Я хочу настроить полосу прокрутки с помощью CSS.
Я использую этот CSS-код WebKit, который хорошо работает в Safari и Chrome:
::-webkit-scrollbar {
width: 15px;
height: 15px;
}
::-webkit-scrollbar-track-piece {
background-color: #C2D2E4;
}
::-webkit-scrollbar-thumb:vertical {
height: 30px;
background-color: #0A4C95;
}
Как я могу сделать то же самое в Firefox?
Я знаю, что могу легко сделать это с помощью jQuery, но я бы предпочел сделать это с помощью чистого CSS, если это возможно.
Буду благодарен за чей-то экспертный совет!
287
7
С конца 2018 года в Firefox доступна ограниченная настройка!
Смотрите эти ответы:
А это для справки: https://bugzilla.mozilla.org/show_bug.cgi?id=1460109
В Firefox нет эквивалента
::-webkit-scrollbar
и друзьям.Вам'придется использовать JavaScript.
Множество людей хотели бы получить эту функцию, см.: https://bugzilla.mozilla.org/show_bug.cgi?id=77790.
Что касается замены JavaScript, вы можете попробовать:
Могу ли я предложить альтернативу?
Никаких сценариев, только стандартные стили CSS и немного творчества. Короткий ответ - для маскировки части существующей полосы прокрутки браузера, что означает, что вы сохраняете все это'с функциональность.
Для демо и немного более подробное объяснение, проверить здесь...
[jsfiddle.net/aj7bxtjz/1/][1]
Для Firefox 64 добавлена поддержка спецификаций проекта CSS для прокрутки Модуль 1, который добавляет два новых свойства]2 о
скроллбара-ширина
иполоса прокрутки-цвет
, которые дают некоторый контроль над тем, как полосы прокрутки отображаются.Вы можете установить
полоса прокрутки-цвет
одно из следующих значений (описания МДН):свет
показать светлую полосу прокрутки, которая может быть либо легкий вариант прокрутки платформы, или пользовательские полосы прокрутки в светлых тонах.<цвет>
в<цвет>
применяется первый цвет с ползунком, вторая полоса прокрутки трека.Обратите внимание, что
темных
исветлых
значения в данный момент не реализованы в Firefox.под управлением macOS Примечания:
Авто-скрытие полупрозрачные полосы прокрутки, которые являются в macOS по умолчанию не может быть окрашен с этим правилом (они все равно выбирают свои контрастные цвет в зависимости от фона). Только постоянно показывать полосы прокрутки (Системные настройки и GT; показать полосы прокрутки > всегда) цветные.
Визуальная Демонстрация:
в
в
Вы можете установить
скроллбара-ширина
одно из следующих значений (описания МДН):Вы также можете установить определенное значение длина, согласно спецификации. Как "тонкие" и определенной длины может не делать ничего на всех платформах, и что именно она делает, это платформы. В частности, в Firefox не'т, кажется, поддерживают определенное значение длина (этот комментарий на их багтрекер, кажется, подтверждает это).
Тонко
клапанам, кажется, хорошо поддерживается, однако с macOS и Windows, поддержка по-крайней мере.Это's наверное стоит отметить, что параметр значения длина и всю
скроллбара-ширина собственность
рассматриваются для удаления в будущем проекте, и если что случится данное конкретное свойство может быть удалено из Firefox в будущих версиях.Визуальная Демонстрация:
в
в
Я решил поделиться своими выводами на случай, если кто-то рассматривает плагин JQuery для выполнения этой работы.
Я попробовал JQuery Custom Scrollbar. Он довольно причудлив, делает плавную прокрутку (с инерцией прокрутки) и имеет множество параметров, которые можно настроить, но для меня он оказался слишком требовательным к процессору (и он добавляет достаточно много в DOM).
Теперь я предлагаю Perfect Scrollbar. Он прост и легок (6 КБ) и пока справляется со своей работой. Он совсем не требователен к процессору (насколько я могу судить) и добавляет очень мало в DOM. У него есть только пара параметров для настройки (wheelSpeed и wheelPropagation), но это все, что мне нужно, и он отлично справляется с обновлениями прокручиваемого содержимого (например, загрузкой изображений).
P.S. Я бегло просмотрел JScrollPane, но @simone прав, это немного устаревший вариант и хлопотный.
Поскольку для Firefox 64, можно использовать новые характеристики для простой прокрутки укладки (не такое полное, как в хроме с вендорных префиксов).
В [этот пример][3] можно увидеть решения, которые объединяют различные правила для решения обоих Firefox и Chrome с подобным (не равно) конечный результат (например, использовать оригинальные правила хром):
Ключевые правила:
Для Firefox
Для Хром
Обратите внимание, что в отношении вашего решения, можно использовать также простые правила хром как следующие:
Наконец, для того, чтобы скрыть стрелки прокрутки также в Firefox, в настоящее время необходимо установить его как "тонкий" с следующее правило
скроллбара-ширина: тонкие;
Это работает в пользовательском стиле, и, похоже, не работает в веб-страницах. Я не нашел официальных указаний от Mozilla по этому поводу. Хотя это могло работать в какой-то момент, Firefox не имеет официальной поддержки для этого. Эта ошибка все еще открыта https://bugzilla.mozilla.org/show_bug.cgi?id=77790.
подробности смотрите на http://codemug.com/html/custom-scrollbars-using-css/.