Firefox 57 在 Gnome 深色主题上显示带有深色文本的深色输入框/下拉菜单

Eär*_*ins 44 gnome themes firefox gtk

原始问题(仅关于输入框):

我在 Ubuntu Gnome 上使用 Arc-Dark 主题,我知道这个问题也存在于较旧的 Firefox 版本上,但可以使用这个 Stylish 脚本来修复(这本身并不是一个很好的修复,因为它搞砸了“下载”按钮)。

现在脚本不再工作了,我正在考虑向 Mozilla 报告它,但他们并没有真正的 Firefox 本身的 GitHub 存储库,只有单独的组件,所以我真的不知道我应该在哪里打开问题。

有没有临时解决办法?知道如何正确执行此操作的人能否将问题报告给 Mozilla 或 Gnome 项目(不知道什么更合适)?

编辑:

虽然在答案中您可以找到输入框的临时解决方法,但在深色背景问题上的相同深色文本似乎出现在下拉菜单中(但并非所有这些文本都很奇怪,这可能与不同的 HTML/CSS 技术有关创建它们),并且由于没有太多讨论,但这两个问题很可能是相关联的,因此我将其添加到这个问题中。修复它的方法可能类似于下面提供的方法,只是在 中使用了不同的条目userContent.css,但是如果有人在这里提供它会很好。如果我有时间自己找出答案,我会编辑自己的答案。

编辑2:

在某些网站上,似乎连按钮都是黑底黑字。这是一个示例,要查看按钮,请选择左侧的“新程序”,将这个示例程序粘贴那里,然后在右下面板中显示这个示例查询,然后点击“运行!”。

Bet*_*sen 49

我发现最好的解决方案是在 about:config 中添加一个字符串值widget.content.gtk-theme-override来覆盖 GTK 主题。您可以使用带有浅色文本框的相关主题(显然,如果所述相关主题存在,这仅适用于一致性)。例如,使用 Arc-Dark 将覆盖设置为 Arc-Dark,它具有光小部件元素。

归功于此处的解决方案:https : //www.mkammerer.de/blog/gtk-dark-theme-and-firefox/

-- sss


myM*_*hod 7

更新

我想我刚刚找到了解决方案。

在 Firefox 46.0 版本之前,您可以通过启动它来设置主题,如下所示:

> GTK2_RC_FILES=/usr/share/themes/Adwaita/gtk-2.0/gtkrc firefox
Run Code Online (Sandbox Code Playgroud)

从 46.0 版本开始,它需要 GTK-3:

> GTK_THEME=Adwaita:light firefox
Run Code Online (Sandbox Code Playgroud)

自版本 57 以来不再有效。

所以现在,对于 57.0.4 版本,我尝试了两者,并且效果很好:

> GTK2_RC_FILES=/usr/share/themes/Adwaita/gtk-2.0/gtkrc GTK_THEME=Adwaita:light firefox
Run Code Online (Sandbox Code Playgroud)

您可能可以使用针对 GTK-2 和 GTK-3 的任何其他主题。

然后你可以删除或重命名 chrome/userContent.css


关于你的问题:

有没有临时解决办法?知道如何正确执行此操作的人能否将问题报告给 Mozilla 或 Gnome 项目(不知道什么更合适)?

恕我直言,他们很清楚这种行为,在找到解决方案后,我假设这是需要的,因为您显然可以选择您想要的主题。


原答案

实际上,最好将!important关键字排除在外。

您的问题出现在站点上,这些站点没有专门为后台响应设置值。background-color css 样式标签,以便 Firefox 插入默认值。

使用!important关键字,几乎所有站点的所有输入和文本区域都将具有相同的(背景)颜色。但您真正想要的是覆盖 Firefox 的默认(resp. fallback)行为。

由于网站上的文本几乎从不是白色而是深灰色,因此对于深色 gtk 主题,将背景背景颜色设置为一些更亮的值就足够了。但是当您已经开始使用它时,您还可以设置文本颜色

因此,在chrome/userContent.css文件中,在您的 Firefox 配置文件目录中添加

input, textarea { color: #222; background: #eee; }
Run Code Online (Sandbox Code Playgroud)

代替

INPUT, TEXTAREA {color: black !important; background: #aaaaaa !important; }
Run Code Online (Sandbox Code Playgroud)

如您链接的答案中所述。

颜色#222#eee对我来说效果很好。但是,您可以根据自己的喜好更改它们。

我希望它有帮助。


Eär*_*ins 2

我已经找到了一个临时修复程序,但我希望有人能够设法让 Mozilla 和/或 Gnome 了解这一点,并考虑永久修复它。

就像这个答案所说的那样,但white在 CSS 样式表中使用而不是#aaaaaa,出于某种原因,后者在我的浏览器上显示为一些奇怪的灰色。


小智 1

这里的答案https://askubuntu.com/a/8346/625256解释了如何仅针对firefox禁用GTK主题,从而修复深色背景上的深色文本问题。

  • 问题是,有些人可能喜欢在 Firefox 上使用 GTK 主题,使其与 Gnome 主题同质,但不喜欢框中深色文本上奇怪的深色背景。 (3认同)