lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
阅读:5409回复:19

[CSS] 地址栏下拉列表毛玻璃效果

楼主#
更多 发布于:2019-11-21 15:07
Firefox  版本70或以上

使用方式:
将下面代码复制粘贴进 配置目录/chrome/userChrome.css 文件中。(没有则手动创建这些文件夹或文件)
FF76 及之前的版本使用如下样式
@-moz-document url("chrome://browser/content/browser.xhtml") {
        #urlbar.megabar[breakout]:not([breakout-extend])[open],/*FF 70*/
        #urlbar.megabar[breakout-extend] > #urlbar-background,/*FF 72*/
        .urlbarView:not(.megabar){
                background: rgba(255,255,255,.7) !important;
                backdrop-filter: blur(4px);
        }
        /*暗色主题*/
        #urlbar.megabar[breakout]:not([breakout-extend])[open]:-moz-lwtheme-brighttext,/*FF 70*/
        #urlbar.megabar[breakout-extend]:-moz-lwtheme-brighttext > #urlbar-background,/*FF 72*/
        .urlbarView:not(.megabar):-moz-lwtheme-brighttext {
                background: rgba(42, 42, 46,.7) !important;
        }
}


FF77 或以上的则使用下面的样式。
@-moz-document url("chrome://browser/content/browser.xhtml") {
        #urlbar[breakout-extend] > #urlbar-background{
                background: rgba(255,255,255,.7) !important;
        }
        #urlbar[breakout-extend]:-moz-lwtheme-brighttext > #urlbar-background{
                background: rgba(42, 42, 46,.7) !important;
        }
        #urlbar[breakout-extend][open] > #urlbar-background{
                backdrop-filter: blur(4px);
        }
}


生效条件:
确保 about:config 中
toolkit.legacyUserProfileCustomizations.stylesheets

layout.css.backdrop-filter.enabled
的值为 true

确保FF在你的机器中支持并开启 webrender目前 backdrop-filter 的实现依赖于 webrender


效果:

开启 browser.urlbar.megabar 、browser.urlbar.update1 的效果

暗色主题下的效果
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
1楼#
发布于:2019-11-22 12:45
infinity:楼主是用的nightly吗?
我70.0.1开启 browser.urlbar.megabar 之后样式失效了
回到原帖
70的 megabar 还没完善,所以我原来只在 Nightly 上测试。
主楼的代码已修改,现在支持 70 的 megabar。

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
在 72 之前可加可不加, 但之后不能加,因为
bug 1492582 - browser.xhtml: Migrate root xul:window element to an html:html element
将默认命名空间改为 http://www.w3.org/1999/xhtml  了,加了反而会失效。
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
2楼#
发布于:2020-02-12 20:24
aunsen:好像是的,已经失效回到原帖
@赤雲染 可以的只是参数改了 browser.urlbar.update1
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
3楼#
发布于:2020-06-03 20:42
noHZIWer:77里失效了吗?回到原帖
顶楼已更新。

----
@EMLVIRUS 本贴原意是为了介绍 FF 支持的 css 新属性,提供美化思路。你可以分享在在本贴中。
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
4楼#
发布于:2020-06-30 22:35
aunsen:我还发现了一个莫名其妙的bug,只要指定地址栏高度,地址栏下拉菜单就透明了,完全没有背景,这简直毫无道理可言
比如:
#urlbar, #searchbar {
    height: 28px !important;

}

...
回到原帖
16楼,没开 webrender ?

17楼,因为背景 (#urlbar-background)是在 #urlbar 下的,
背景元素在没指定高度也无内容高度的情况下,会跟随父元素的高度。
请使用 #urlbar-input-container 代替 #urlbar。
游客

返回顶部