css - Firefox - Windows 高对比度模式禁用按钮颜色问题
问题描述
我需要在 Windows 高对比度模式下将禁用的材质按钮边框和颜色设为绿色。css 更改在 chrome 上运行良好,但在 firefox 上遇到了一些问题。无论边框应用什么颜色,它都会自动变成白色。有什么方法可以将firefox的颜色覆盖为绿色?
/*For chrome, working as expected */
@media (forced-colors: active) {
material-button[disabled] {
forced-color-adjust: none;
border: 1px solid GrayText;
}
}
/* For Firefox, not working */
@media (prefers-contrast: more) {
material-button[disabled] {
border: 1px solid GrayText;
}
}
有人可以帮忙吗?
解决方案
截至 2021 年 7 月,没有主流浏览器支持prefers-contrast
媒体功能,因此您的第二个媒体查询将不起作用。无论如何,这是一条红鲱鱼,因为 Windows 高对比度模式并不一定意味着任何特定的对比度级别。用户可以选择他们想要的任何颜色,并且一些用户使用 Windows 高对比度功能来创建低对比度的调色板。
Firefox 支持forced-colors
媒体功能(从 89 版开始),但尚未实现该forced-color-adjust
属性。但是,forced-color-adjust
如果您只想指定系统颜色关键字(例如GrayText
. 您的第一个媒体查询和边框颜色应该可以在 Firefox 中使用。
请注意,Firefox 对系统颜色的遵守是可选的。它基于Preferences > General > Colors > Use system colors中的用户偏好。如果选中此选项,则 Firefox 将使用 Windows 的高对比度操作系统设置中指定的颜色。否则,它将使用 Firefox 浏览器设置中的颜色。
推荐阅读
- javascript - 通过 Websockets 从 Python Flask 服务器连续向客户端发送数据
- laravel - Laravel 6 - undefined 不是有效的时间戳。格式必须为 YYYY-MM-DD 或 YYYY-MM-DD hh:mm
- android - 无法使用适用于 Android 的 Google Fit 跟踪位置 (TYPE_LOCATION_SAMPLE)
- javascript - 如何将本地 json 文件数据导入我的 JavaScript 变量?
- angular - 导入自定义库时出现编译错误
- mysql - 将查询输出连接到 mysql 工作台中的 csv 文件?
- ssh - SSH 无密码:martin@XXX.XXX.XXX.XXX:权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic)
- arrays - Json 列表/数组案例中的 JOLT TRANSFORM
- html - 在服务器上使用应用程序时图像抛出 404 错误
- javascript - html表单在mysql中插入数据的数据提交中断