我最近开始使用 Gnome 3 的 DarkGreen 主题,但是 FireFox 中的一些网页在文本输入字段方面存在一些问题。这种情况发生在 Google 的搜索字段、Facebook 上的一些字段等...
此主题默认使用深色背景和浅色文本作为输入字段。我已成功修改了那些从未受到影响的字段的输入文本的前景色(从近白色变为灰色),但对于“损坏”的字段却没有帮助。我还想将所有输入字段的背景颜色更改为白色,但也没有成功。
在主题文件夹中有一个 gtk 文件夹,里面有一个 css 文件。相关内容如下,注释是我修改的:
@define-color theme_base_color #202020;
@define-color theme_text_color #25DC00; /* #ffffff */
@define-color theme_bg_color #121212;
@define-color theme_fg_color @theme_text_color;
@define-color selected_bg_color #3E8753;
@define-color selected_fg_color #ffffff;
@define-color theme_selected_bg_color @selected_bg_color;
@define-color menu_bg_color #555555;
@define-color menu_fg_color @theme_text_color;
@define-color menu_combobox_border @theme_selected_bg_color;
@define-color menu_separator mix (@theme_bg_color, @menu_bg_color, 0.90);
@define-color insensitive_bg_color alpha(#0b0b0d, 0.0);
@define-color insensitive_fg_color alpha(#717171, 0.50);
@define-color insensitive_border_color alpha(#717171, 0.50);
@define-color entry_text_color /* #fafafa */ #707070;
@define-color entry_background_a #ffffff;
@define-color entry_background_b #ffffff;
@define-color entry_background_c #ffffff;
@define-color entry_background_d #ffffff; /* 121212 */
@define-color frame_color #707070;
这个 CSS 文件是我唯一需要更改的东西吗?
答案1
我建议采用一种特定于 Firefox 的不同方法来实现您的目标。
关闭(退出)所有 Firefox 实例。
转到您的配置文件夹。它在这里:/home/your_name/.mozilla/firefox/randomstring.default
在那里,查找名为 的子文件夹chrome
。如果不存在,请创建它。
如果chrome
存在,请查找名为 的文件userContent.css
。否则,在文件夹中创建一个以此名称命名的空文件chrome
。
现在userContent.css
用文本编辑器打开并粘贴此代码:
INPUT, TEXTAREA {color: black !important; background: #aaaaaa !important; }
保存文件(纯文本)并关闭文本编辑器。
重新启动 Firefox。
现在您应该在浅灰色背景上看到黑色文本。您可以使用任何您喜欢的颜色组合。
注意:
chrome
和userContent.css
区分大小写,拼写应正确。
此处的设置将优先于 OS 主题中的设置,并且无论您切换到哪个 gtk 主题,Firefox 中的设置都将保持不变。
(顺便说一句,你可能对时尚延伸以及用户创建并托管在 userstyles.org 上的各种风格。
编辑:
我提供了一些与想要 Firefox 的用户相关的链接不是受操作系统 (gtk) 主题的影响。请注意,我尚未检查建议的解决方案是否是否仍然有效。以下链接为更多背景信息:
怎样才能让 Firefox 完全忽略我的 GTK 主题?
错误 70315 - 如果使用深色 GTK 主题(适用于 Seamonkey),菜单和框中的文本将无法读取
有什么方法可以阻止 Firefox 使用操作系统原生颜色?
答案2
我在ArchLinux 维基,可以直接应用于此处的问题。我发现结果比之前来自 user25656 的结果更好。
方法是相同的:/home/<your_name>/.mozilla/firefox/<randomstring>.default/chrome/userConent.css
使用以下内容创建:
input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']) {
-moz-appearance: none !important;
background-color: white;
color: black;
}
#downloads-indicator-counter {
color: white;
}
textarea {
-moz-appearance: none !important;
background-color: white;
color: black;
}
select {
-moz-appearance: none !important;
background-color: white;
color: black;
}
(由于我的声誉低,我无法发表评论,这就是为什么这是一个新的答案。)
答案3
我按照 dd23 的建议做了大多有效,尽管只对受影响页面上一半的混乱元素有效。我发现另一种 CSS 似乎效果更好一些。
顺便说一句,你也可以使用时尚的 Firefox 附加组件应用此 CSS。
/*
* Use this css file to eliminate problems in Firefox
* when using dark themes that create dark on dark
* input boxes, selection menus and buttons. Put this
* in the ../firefox/default/chrome folder or your
* individual user firefox profile chrome folder.
*/
input {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}
textarea {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}
select {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}
input[type="radio"],
input[type="checkbox"] {
border: 2px inset white ! important;
background-color: white ! important;
color: ThreeDFace ! important;
-moz-appearance: none !important;
}
*|*::-moz-radio {
background-color: white;
-moz-appearance: none !important;
}
button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
border: 2px outset white;
background-color: #eeeeee;
color: black;
-moz-appearance: none !important;
}
body {
background-color: white;
color: black;
display: block;
margin: 8px;
-moz-appearance: none !important;
}
解决方案来自Fedora 论坛上的 PabloTwo. 这也提到了Mozilla 错误报告的第 15 条评论。是的,这是一个已知的错误。