获取文档的背景颜色

Mar*_* VY 4 html javascript css colors

默认情况下,大多数 Web 浏览器将页面呈现为具有白色背景。然而,这在某种程度上是用户可定制的,并且某些浏览器是不同的。所以,我想找到一种方法,通过 CSS 或 JavaScript,找出页面的背景颜色。Mozilla 网站上的文档建议可以使用 document.bgColor,并且其默认值为白色。它还建议不要使用它,因为它已被弃用。但是文档似乎与观察到的行为相冲突:如果页面没有 CSS 来更改它,则 document.bgColor 是一个空字符串。建议的替代方案也不起作用:我尝试的所有内容都给我一个空字符串或“透明”,这显然是错误的:我看不到浏览器下方的桌面,因此它不透明。(顺便,IE11 实际上就像 Mozilla 的文档所说的 Firefox 一样。去搞清楚。)

我想创建一个 html 列表元素 ( <ul>),其背景颜色与文档的背景颜色相匹配。这可能吗?(我想你可能会问:如果我想让它与背景相匹配,我想要的不是“透明”吗?不。我想让它掩盖一些其他元素。为什么?因为我正在制作其中之一那些自动建议的东西。)

编辑:有 2 个人明智地建议我添加一个示例,以便清楚我在说什么。根据我收到的答案,这两个人是绝对正确的。我在其中一个答案的评论中添加了一个指向小提琴的链接,现在我在这里添加它:

https://jsfiddle.net/ftgu97fj/5/

Jan*_*roň 5

您可以使用CSS2 系统颜色- 请注意,这些在 CSS3 中已被弃用,建议改用外观属性。

ul { background-color: Background; } /* this should be desktop background */

ul { background-color: Window; } /* this is browser background */

  • 经过更多调查,使用`background-color: Window;` 似乎获得了“真实”的默认背景色。这可以通过`window.getComputedStyle` 获得。示例:`document.body.style.backgroundColor="Window"; 警报(window.getComputedStyle(document.body)[“背景颜色”]);` (2认同)