А подскажите плиз, вот теперь в 89-м, на форумах, в формах ответа (в том числе на этом), при установке в нее курсора, рамка подкрашивается синим, вот так:
Как можно цвет и толщину поменять обратно, чтобы было, как в 88-м?
Отредактировано Retif (13-06-2021 09:41:10)
На форуме
Retif
Код из полной темы Vitaliy V., немного мной подрихтованный. Цвета свои используйте.
@-moz-document regexp("(?:https?|ftp|file):\/\/.*") { input, textarea { border: 1px solid transparent !important; outline: 1px solid rgba(131,137,150,.5) !important; } input:focus, textarea:focus { border: 1px solid transparent !important; outline: 1px solid rgba(49,140,231,.5) !important; } }
Отсутствует
Retif
Куда засунули, то и изменил. Причем тут браузер? Вы стиль для контента просили.
Себе так пока оставил. На мой взгляд лучше подходит для темных и светлых страниц. Прозрачность черного можно увеличить (уменьшить число).
@-moz-document regexp("(?:https?|ftp|file):\/\/.*") { input, textarea { border: 1px solid rgba(131,137,150,.6) !important; outline: 1px solid transparent !important; } input:focus, textarea:focus { border: 1px solid rgba(10,10,10,.7) !important; outline: 1px solid rgba(49,140,231,.9) !important; } }
Отсутствует
Код из полной темы Vitaliy V., немного мной подрихтованный
Не было у меня такого кроме первой строки с regexp.
Может тогда так
@-moz-document regexp("(?:https?|ftp|file):\/\/.*") { input:not([type="file"],[type="image"]):focus-visible, select:focus-visible, button:focus-visible, textarea:focus-visible { outline: 1px solid Highlight; outline-offset: -1px; } }
Отсутствует
Vitaliy V.
Я про нее и говорил.
Дело не в стиле, он его в userChrome пихает.
Retif
userChrome.css для браузера, userContent для контента. Я не знаю что еще сказать, воспользуйтесь поиском что ли.
Отсутствует
Дело не в стиле, он его в userChrome пихает.
Это понятно но ваш с !important; ломает стили сайтов например на yandex
Отредактировано Vitaliy V. (13-06-2021 15:51:05)
Отсутствует
userChrome.css для браузера, userContent для контента. Я не знаю что еще сказать, воспользуйтесь поиском что ли.
Да не, просто имя файла не знал, спасибо, всё получилось.
На форуме
Я правильно убрал «ВОСПРОИЗВОДИТСЯ» в табе или есть решение получше?
Отсутствует
Vitaliy V.
Dumby
Ну подскажите, как убрать это мелькание текста на вкладке при наведении указателя? Имею в виду окрашивание затенённого текста в основной цвет.
За недолгое время периодического использования 89+, уже начинает нервировать. --tab-label-mask-size пробовал подобрать, но тогда и затенения в конце заголовка не будет, тоже так себе решение.
Я правильно убрал «ВОСПРОИЗВОДИТСЯ» в табе или есть решение получше?
Отсутствует
ломает стили сайтов например на yandex
Да уже заметил, поля нестандартной формы криво подсвечиваются. Вот эта часть вроде ничего не ломает, стандартно она 2-х пиксельная.
input, textarea { border: 1px solid rgba(131,137,150,.5); outline: 1px solid transparent; }
Да, с контентом надо быть аккуратнее с !important;.
Отсутствует
--tab-label-mask-size пробовал подобрать, но тогда и затенения в конце заголовка не будет, тоже так себе решение.
почему не будет?
можно ещё здесь прозрачность подкрутить было 11%
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true], [multiselected]) { background-color: color-mix(in srgb, currentColor 8%, transparent) !important; }
или добавить сюда например
color: gray !important;
чтобы другим цветом выделялось
Отредактировано Vitaliy V. (14-06-2021 01:13:33)
Отсутствует
почему не будет?
Ну у меня его нет, если уменьшить значение. У меня вкладка то короче, на дефолтной может и будет. Этот вариант уже испробовал. Это не отменяет перекрашивание затенённого текста в основной. --tab-label-mask-size: 2em; - дефолтное значение в инспекторе, я его и менял.
Посмотрел на дефолтной вкладке, поведение обратное тому, что у меня. Виталий, ну может можно как-то сделать, чтоб текст на вкладке не реагировал при наведении указателя, не получается у меня выловить этот момент.
можно ещё здесь прозрачность подкрутить было 11%
Нет, не работает. Всё равно белым затенённый текст становится при наведении. Мне бы на активной вкладке сделать, так как у меня переключение скриптом при наведении идёт. Код использовал и ваш с color: gray !important; и такой
.tabbrowser-tab:hover > .tab-stack > .tab-background { background-color: color-mix(in srgb, currentColor 8%, transparent) !important; color: gray !important; }
Отсутствует
--tab-label-mask-size: 2em; - дефолтное значение в инспекторе, я его и менял.
В том то и дело что нет когда наводится курсор он становится 1em из-за этого кода
.tabbrowser-tab[visuallyselected="true"]:hover, #tabbrowser-tabs:not([closebuttons="activetab"]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab:not([visuallyselected="true"]):hover { --tab-label-mask-size: 1em; }
Ну или так задать mask-image
.tab-label-container[textoverflow][labeldirection=ltr]:not([pinned]), .tab-label-container[textoverflow]:not([labeldirection], [pinned]):-moz-locale-dir(ltr) { mask-image: linear-gradient(to left, transparent, black 2em) !important; } .tab-label-container[textoverflow][labeldirection=rtl]:not([pinned]), .tab-label-container[textoverflow]:not([labeldirection], [pinned]):-moz-locale-dir(rtl) { mask-image: linear-gradient(to right, transparent, black 2em) !important; }
А вот ещё что может влиять
.tab-close-button { margin-inline-end: calc(var(--inline-tab-padding) / -2); width: 24px; height: 24px; padding: 7px; }
.tabbrowser-tab:not(:hover) > .tab-stack > .tab-content > .tab-close-button { padding-inline-start: 0; width: 17px; }
настройте как надо
Отредактировано Vitaliy V. (14-06-2021 02:15:10)
Отсутствует
В том то и дело что нет когда наводится курсор он становится 1em из-за этого кода
Всё, теперь понятно.
и мой код это не допускает, а у вас не знаю стили наверно мешают я не в курсе что за стили
Да вот же, вкладки покрашены стилем Ариса, да и много ещё там у него изменений по виду вкладок.
Ну или так задать mask-image
А вот это сработало на моих рихтованных вкладках.
Добавлено 14-06-2021 02:20:20
А вот ещё что может влиять
Да, к этому, и не только, я тоже руку приложил. Кнопку вообще заменил, рихтовать там пришлось порядочно после этого.
когда курсор не на вкладке активен этот код
настройте как надо
Спасибо! Завтра буду разбираться основательно.
Отредактировано sandro79 (14-06-2021 02:20:20)
Отсутствует
Подскажите, пожалуйста, код для userContent.css, с помощью которого можно вернуть старый нормальный выпадающий список поисковой строки Яндекса (который во всю ширину страницы). Или хотя бы убрать все скругления и заменить их на углы, а также придвинуть список вплотную к нижней границе поисковой строки.
Отсутствует
Добавил инструкцию по установке WebExtensions Experiments https://github.com/VitaliyVstyle/Vitali … xperiments
а то некоторые не знают как или им старый конфиг подсовывают а там конечно нет настройки extensions.experiments.enabled
Если следую инструкции, то у меня почему-то пропадают все кнопки Add Toolbar Buttons, хотя само расширение установлено. Все остальные расширения тоже работают. В чём может быть причина?
Отредактировано voqabuhe (14-06-2021 08:04:55)
Отсутствует
Если следую инструкции, то у меня почему-то пропадают все кнопки Add Toolbar Buttons, хотя само расширение установлено. Все остальные расширения тоже работают. В чём может быть причина?
Решил эту проблему только проснувшись (осенило во сне :)) - изменил порядок в своем конфиге:
1. код от Dumby
2. код от Vitaliy V для UCF
3. код от wvxwxvw для скриптов по методу №3 с сайта - https://github.com/Aris-t2/CustomJSforFx (прежде он был первым)
Отсутствует
del
Отредактировано falcon1598 (17-06-2021 19:59:37)
Отсутствует
Если следую инструкции, то у меня почему-то пропадают все кнопки Add Toolbar Buttons, хотя само расширение установлено. Все остальные расширения тоже работают. В чём может быть причина?
Много раз это сказано уже было,
вот добавил ещё к инструкции
Если уже используется др. config.js то следует заменить или совместить его содержимое
при этом важно чтобы данный код был в самом начале файла
И ещё может быть ошибка у тех кто использует этот метод загрузки скриптов https://github.com/Aris-t2/CustomJSforF … /config.js
В нем надо удалить константу
const Cu = Components.utils;
Отредактировано Vitaliy V. (14-06-2021 13:59:07)
Отсутствует
Много раз это сказано уже было
Ну сорри, как-то мимо меня просвистело.
важно чтобы данный код был в самом начале файла
Именно этого и нехватало. Спасибо.
Отсутствует
Ребят подскажите, воспользовался стилем CSS из темы чтобы вкладки опустить вниз, и у меня теперь над строкой меню тонкая белая полоса...
Ps: и еще сюда же., можно ли полностью убрать строку меню как в полноэкранном режиме? (что бы кнопки свернуть/развернуть/закрыть были в адресной строке как в полноэкранном режиме)
Отсутствует
sandro79 пишетvarmedскрытый текстВыделить кодКод:#urlbar-container,
#search-container {
padding: 1px 0 !important;
margin-inline: 1px !important; /* необязательно */
}Этот код вообще ни на что не повлиял.
а мне на ночнушке 91.0a1 именно этот код повлиял - СПС БЛШ!
Отсутствует
можно ли полностью убрать строку меню как в полноэкранном режиме?
Там же, в посте, скрипт есть для этого комплекта. Добавить нужно в файл custom_script_win.js
Первый код скрипта нужно добавить выше строки createSpecialWidgets() {, второй ниже строки // this.autohidesidebar.init(); // <-- Auto Hide Sidebar, ну а третий кусок, как сказано в посте в конце, custom_script_win.js Должна получится такая конструкция:
// Этот скрипт работает в главном окне браузера если включено в настройках var ucf_custom_script_win = { initialized: false, get unloadlisteners() { delete this.unloadlisteners; window.addEventListener("unload", this, { once: true }); return this.unloadlisteners = []; }, load() { if (this.initialized) return; this.initialized = true; // this.specialwidgets.init(); // <-- Special Widgets // this.autohidesidebar.init(); // <-- Auto Hide Sidebar this.menubarvisibilitychance.setbuttonboxwidth(); /* ************************************************ */ // Здесь может быть ваш код который сработает по событию "load" не раньше /* ************************************************ */ }, handleEvent(e) { this[e.type](e); }, unload() { this.unloadlisteners.forEach(str => { try { this[str].destructor(); } catch (e) {} }); }, menubarvisibilitychance: { buttons: null, buttonsfullscreen: null, constructor() { var menubar = this.menubar = document.querySelector("#toolbar-menubar"); if (!menubar) return; this.observer = new MutationObserver(() => { this.settoolbarvisibility(); }); this.observer.observe(menubar, { attributeFilter: ["autohide", "inactive"], attributes: true, }); this.sizemodechange = new MutationObserver(() => { this.setbuttonboxwidth(); }); this.sizemodechange.observe(document.documentElement, { attributeFilter: ["sizemode"], attributes: true, }); ucf_custom_script_win.unloadlisteners.push("menubarvisibilitychance"); this.settoolbarvisibility(); }, settoolbarvisibility() { var docElm = document.documentElement; if (this.menubar.getAttribute("autohide") == "true" && this.menubar.getAttribute("inactive") == "true") { docElm.setAttribute("v_menubar_autohide", true); this.setbuttonboxwidth(); } else docElm.setAttribute("v_menubar_autohide", false); }, width(outerRect, innerRect) { if (!window.RTL_UI) this.width = (outerRect, innerRect) => outerRect.right - innerRect.left; else this.width = (outerRect, innerRect) => innerRect.right - outerRect.left; return this.width(outerRect, innerRect); }, setbuttonboxwidth() { var buttons, docElm = document.documentElement; if (docElm.getAttribute("sizemode") != "fullscreen") buttons = (this.buttons || (this.buttons = this.menubar.querySelector(".titlebar-buttonbox-container"))); else buttons = (this.buttonsfullscreen || (this.buttonsfullscreen = document.querySelector("#window-controls"))); var innerRect = buttons.getBoundingClientRect(); if (innerRect.width < 1) { docElm.style.setProperty("--v-titlebar-buttonbox-container-width", "0px"); return; } var outerRect = docElm.getBoundingClientRect(); docElm.style.setProperty("--v-titlebar-buttonbox-container-width", `${this.width(outerRect, innerRect)}px`); }, destructor() { this.observer.disconnect(); this.sizemodechange.disconnect(); this.observer = null; this.sizemodechange = null; } }, specialwidgets: { _timer: null, get Customizable() { delete this.Customizable; if ("createSpecialWidget" in CustomizableUI) return this.Customizable = CustomizableUI; var scope = null; try { scope = Cu.import("resource:///modules/CustomizableUI.jsm", {}).CustomizableUIInternal; } catch (e) { } return this.Customizable = scope; }, init() { if (!("CustomizableUI" in window) || !("gCustomizeMode" in window)) return; ucf_custom_script_win.unloadlisteners.push("specialwidgets"); window.addEventListener("customizationready", this); }, destructor() { window.removeEventListener("customizationready", this); }, handleEvent(e) { this[e.type](e); }, customizationchange() { clearTimeout(this._timer); this._timer = setTimeout(() => { this.createSpecialWidgets(); }, 1000); }, customizationready() { if (!this.Customizable) return; this.createSpecialWidgets(); window.addEventListener("customizationchange", this); window.addEventListener("customizationending", this); }, customizationending() { window.removeEventListener("customizationchange", this); window.removeEventListener("customizationending", this); }, createSpecialWidgets() { try { let fragment = document.createDocumentFragment(); if (this.findSpecialWidgets("spring")) { let spring = this.Customizable.createSpecialWidget("spring", document); spring.setAttribute("label", "Растягивающийся интервал"); fragment.append(gCustomizeMode.wrapToolbarItem(spring, "palette")); } if (this.findSpecialWidgets("spacer")) { let spacer = this.Customizable.createSpecialWidget("spacer", document); spacer.setAttribute("label", "Интервал"); fragment.append(gCustomizeMode.wrapToolbarItem(spacer, "palette")); } if (this.findSpecialWidgets("separator")) { let separator = this.Customizable.createSpecialWidget("separator", document); separator.setAttribute("label", "Разделитель"); fragment.append(gCustomizeMode.wrapToolbarItem(separator, "palette")); } gCustomizeMode.visiblePalette.append(fragment); } catch (e) {} }, findSpecialWidgets(string) { try { if (!gCustomizeMode.visiblePalette.querySelector(`toolbar${string}[id^="customizableui-special-${string}"]`)) return true; } catch (e) {} return false; } }, autohidesidebar: { events: ["dragenter", "drop", "dragexit", "MozLayerTreeReady"], init() { var sidebar = this.sidebar = document.querySelector("#sidebar-box"); if (!sidebar) return; for (let type of this.events) sidebar.addEventListener(type, this); ucf_custom_script_win.unloadlisteners.push("autohidesidebar"); var popup = this.popup = document.querySelector("#sidebarMenu-popup"); if (!popup) return; popup.addEventListener("popupshowing", this); }, destructor() { var sidebar = this.sidebar; for (let type of this.events) sidebar.removeEventListener(type, this); if (!this.popup) return; this.popup.removeEventListener("popupshowing", this); }, handleEvent(e) { this[e.type](e); }, MozLayerTreeReady(e) { if (e.originalTarget?.id == "webext-panels-browser" && !this.sidebar.hasAttribute("sidebardrag")) { window.addEventListener("mousedown", () => { this.drop(); }, { once: true }); this.dragenter(); } }, popupshowing() { this.popup.addEventListener("popuphidden", () => { this.drop(); }, { once: true }); this.dragenter(); }, dragenter() { if (!this.sidebar.hasAttribute("sidebardrag")) this.sidebar.setAttribute("sidebardrag", "true"); }, drop() { if (this.sidebar.hasAttribute("sidebardrag")) this.sidebar.removeAttribute("sidebardrag"); }, dragexit(e) { var sidebar = this.sidebar; var boxObj = sidebar.getBoundingClientRect(), boxScrn = !sidebar.boxObject ? sidebar : sidebar.boxObject; if ((!e.relatedTarget || e.screenY <= (boxScrn.screenY + 5) || e.screenY >= (boxScrn.screenY + boxObj.height - 5) || e.screenX <= (boxScrn.screenX + 5) || e.screenX >= (boxScrn.screenX + boxObj.width - 5)) && sidebar.hasAttribute("sidebardrag")) sidebar.removeAttribute("sidebardrag"); } }, }; if (window.document.readyState != "complete") { window.addEventListener("load", function load() { ucf_custom_script_win.load(); }, { once: true }); } else ucf_custom_script_win.load(); ucf_custom_script_win.menubarvisibilitychance.constructor();
Отсутствует