Существуют ли расширения, пользовательские таблицы стилей и т.д., Которые отключают или отменяют настройку полос прокрутки в браузерах на основе Webkit, таких как Google Chrome? Мне нравятся простые, родные полосы прокрутки, но я не могу найти комбинацию CSS, чтобы заставить их вернуться после того, как они были стилизованы CSS.
3 ответа
Откройте исполняемый файл веб-браузера в текстовом редакторе с двоичной очисткой или в шестнадцатеричном редакторе и замените все вхождения «webkit-scrollbar» на другие нежелательные объекты, например «webkit-scrollb4r». Я только что попробовал это с Chrome, и это решает проблему.
К сожалению, CSS не может быть "отключен" или отменен после активации:
::- webkit-scrollbar нельзя просто переопределить, чтобы получить стиль по умолчанию, единственный способ сделать это - удалить все правила ::- webkit-scrollbar из кода. На этом этапе прокручиваемые области должны быть вынуждены перерисовать полосы прокрутки. Для этого нужно либо быстро добавить, либо удалить отображение:нет; то же самое с переполнением:скрытый; на прокручиваемых элементах. Проблема с первым состоит в том, что страница мигает белым при каждой загрузке страницы; второй ресурсоемкий, так как должен проверять, не переполнен ли какой-либо элемент на странице - не идеально.
Ссылка выше взята из скрипта, который полностью удалит пользовательские панели, оставив вас без полосы прокрутки.
// ==UserScript==
// @name My Fancy Scrollbar Userscript
// @namespace http://your.homepage/
// @version 0.1
// @description enter something useful
// @author You
// @match http://*/*
// @grant none
// ==/UserScript==
[].forEach.call(document.styleSheets, function(sheet) {
for (var i = 0; i < sheet.rules.length; ++i) {
var rule = sheet.rules[i];
if (/::-webkit-scrollbar/.test(rule.selectorText)) {
sheet.deleteRule(i--);
}
}
});