微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 CSS 规则集Firefox Web 浏览器用户界面中覆盖此单个选择器?

如何解决如何在 CSS 规则集Firefox Web 浏览器用户界面中覆盖此单个选择器?

Firefox 89 对网络浏览器的用户界面进行了许多更改。

新用户界面的好处之一是标签可以显示辅助信息行,以指示例如媒体是否在标签中播放。

不幸的是,当使用非常受欢迎的紧凑模式时,这些辅助信息行会消失。

我查看了 Firefox 源代码,确定这个问题是由这行 CSS 代码造成的:

:root[uidensity="compact"] .tab-secondary-label,.tab-secondary-label:not([soundplaying],[muted],[activemedia-blocked],[pictureinpicture]),.tab-secondary-label:not([activemedia-blocked]) > .tab-icon-sound-blocked-label,.tab-secondary-label[muted][activemedia-blocked] > .tab-icon-sound-blocked-label,.tab-secondary-label[activemedia-blocked] > .tab-icon-sound-playing-label,.tab-secondary-label[muted] > .tab-icon-sound-playing-label,.tab-secondary-label[pictureinpicture] > .tab-icon-sound-playing-label,.tab-secondary-label[pictureinpicture] > .tab-icon-sound-muted-label,.tab-secondary-label:not([pictureinpicture]) > .tab-icon-sound-pip-label,.tab-secondary-label:not([muted]) > .tab-icon-sound-muted-label,.tab-secondary-label:not([showtooltip]) > .tab-icon-sound-tooltip-label,.tab-secondary-label[showtooltip] > .tab-icon-sound-label:not(.tab-icon-sound-tooltip-label) {
    display: none;
}

如您所见,此规则集开头的选择器 :root[uidensity="compact"] .tab-secondary-label 导致了此问题。

我想在 userChrome.css 叠加层中添加 CSS 规则集以解决此问题,但我不确定如何解决。是的,我可以在 Firefox 源代码中更改此规则集,然后重新编译浏览器,但我不想在每次 Firefox 更新时都经历这些麻烦。

userChrome.css 内,出于显而易见的原因,例如:

:root[uidensity="compact"] .tab-secondary-label {
    display: revert !important;
}

:root[uidensity="compact"] .tab-secondary-label {
    display: unset !important;
}

不会完全奏效。

有什么好的 CSS 技术可以用来实现这个目标?

解决方法

我想出了一个解决方案。

我不喜欢它,但它确实有效。

.tab-secondary-label {
    display: -moz-box !important;
}

.tab-secondary-label:not([soundplaying],[muted],[activemedia-blocked],[pictureinpicture]),.tab-secondary-label:not([activemedia-blocked]) > .tab-icon-sound-blocked-label,.tab-secondary-label[muted][activemedia-blocked] > .tab-icon-sound-blocked-label,.tab-secondary-label[activemedia-blocked] > .tab-icon-sound-playing-label,.tab-secondary-label[muted] > .tab-icon-sound-playing-label,.tab-secondary-label[pictureinpicture] > .tab-icon-sound-playing-label,.tab-secondary-label[pictureinpicture] > .tab-icon-sound-muted-label,.tab-secondary-label:not([pictureinpicture]) > .tab-icon-sound-pip-label,.tab-secondary-label:not([muted]) > .tab-icon-sound-muted-label,.tab-secondary-label:not([showtooltip]) > .tab-icon-sound-tooltip-label,.tab-secondary-label[showtooltip] > .tab-icon-sound-label:not(.tab-icon-sound-tooltip-label) {
    display: none !important;
}

如果有人可以提出不同的技术,我有兴趣阅读您的答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。