【发布时间】:2021-07-19 07:53:04
【问题描述】:
当使用color-scheme 强制主题时,有没有办法匹配实际的文本/背景颜色?
背景颜色 Canvas 和文本颜色 CanvasText 与实际主题颜色不匹配(在 Edge/Chrome 深色主题中,它显示为黑色,而实际颜色较浅),当通过 javascript 切换主题时,这些颜色不反映更改(单击复选框后请参阅“我的 Groupbox”标签):
Math.floor(Math.random()*2)&&document.querySelector("input").click();
:root
{
color-scheme: light;
}
.groupbox
{
border: 1px solid rgba(127, 127, 127, 0.5);
display: grid;
padding: 1em 0.5em 0.5em 0.5em;
position: relative;
margin-top: 1em;
}
.groupbox > label
{
position: absolute;
top: -0.5em;
left: 0.5em;
font-size: 0.9em;
padding: 0 0.4em;
color: CanvasText;
background-color: Canvas;
}
<label><input type="checkbox" oninput="documentElement.style.colorScheme=this.checked&&'dark'"> Dark theme</label>
<div class="groupbox">
<label>My Groupbox</label>
<h1>My Header</h1>
<span>My Text</span>
</div>
有什么建议吗?
【问题讨论】:
标签: javascript css