我只是尝试用CSS来设计一个select元素(真是个愚蠢的主意。我知道)在Edge。
在查看浏览器默认设置(用户代理样式表)时,我注意到应用了以下几行样式:
color: -internal-light-dark(black, white);
background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));我尝试了Chrome 87 & Opera 71,并应用了相同的默认属性。据我所见,Firefox不适用于此。
我试图在谷歌上搜索“内部光线-黑暗”,但一无所获。有人能解释一下这是干什么的吗?
发布于 2021-01-31 15:57:32
以下是添加https://github.com/chromium/chromium/commit/5c56063a3a156531e2e368047bec5cfd48b2ff21时的提交
然后重命名为https://github.com/chromium/chromium/commit/42267a718b56e0da01b82c4aee8b342f24e45c1b
下面是更相关的提交https://github.com/chromium/chromium/search?p=2&q=internal-light-dark&type=commits
据我从源代码中了解到,它是基于铬的浏览器(这就是firefox忽略它的原因)使用的内部(顾名思义)属性,可以根据系统的颜色模式来存储一对或浅色/深色的颜色。
编辑:因为它不是标准的CSS,所以我建议你不要使用它们,除非你真的需要为基于铬的浏览器制定一些特殊的规则。
编辑:在这里,您可以看到他们如何在内部使用https://github.com/chromium/chromium/commit/5c56063a3a156531e2e368047bec5cfd48b2ff21#diff-60fdf3dc7f2f69a2b744d617c2c9ed1c293c1d2309f934d6ae285970ad8e8002R70
const CSSColorValue& color_value = To<CSSColorValue>(
WebColorScheme::kLight ? pair->First() : pair->Second());
return color_value.Value();如果颜色模式是light,则使用第一个值,另一个值,第二个值。
https://stackoverflow.com/questions/65980493
复制相似问题