You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用userChrome.css修改Firefox扩展图标悬停背景样式失效问题

Firefox userChrome.css 工具栏图标悬停样式适配方案

问题原因

原生工具栏按钮和扩展按钮的DOM嵌套结构存在差异:

  • 原生按钮的.toolbarbutton-icon是按钮节点的直接子元素,最初写的*:hover > .toolbarbutton-icon规则用了直接子选择器>,只能匹配到原生按钮
  • WebExtension扩展的图标节点外多嵌套了一层容器,直接子选择器无法命中;如果去掉>改用全范围后代选择器,会在整条工具栏等顶层父元素触发hover时匹配到所有下属图标,出现全图标同步变色的异常效果。

正确实现代码

原有基础图标样式不需要改动,替换掉之前错误的悬停规则即可:

/* 基础图标样式 保持原有配置 */
.toolbarbutton-icon
{
   border-radius: 5px !important;
   box-shadow: 0px 1px 1px 1px black, 0 -0.01em 1px 0px #D0D0D0 !important;
   background-color: var(--uc-regular-colour) !important;
   width: 26px !important;
   height: 26px !important;
   padding: 5px !important;
}

/* 统一悬停变色规则 同时覆盖原生按钮+所有扩展按钮 */
.toolbarbutton-1:hover .toolbarbutton-icon,
.webextension-browser-action:hover .toolbarbutton-icon {
    background-color: green !important;
}

/* 可选:如果扩展按钮悬停时仍有默认灰色背景残留,添加这行清除默认样式 */
.webextension-browser-action:hover .toolbarbutton-badge-stack {
    background-color: transparent !important;
}

规则说明

  • 选择器直接命中两类可点击的工具栏按钮本体作为hover触发源,不会出现鼠标未指向按钮时全栏图标变色的问题
  • 不需要针对单个扩展单独写适配规则,所有安装的扩展图标都能统一触发悬停变色效果

问题效果参考

  • 悬停原生设置图标(规则生效):悬停设置图标效果
  • 悬停隐私浏览图标(规则生效):悬停隐私浏览图标效果
  • 悬停FoxyProxy扩展图标(原规则不生效):悬停FoxyProxy扩展图标效果
  • 错误后代选择器导致全图标变色:错误规则异常效果

内容的提问来源于stack exchange,提问作者Gaming World

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 22:36:23