我们正在改变网站的外观和感觉。许多元素的颜色正在改变。我们的次要按钮将从紫色背景白色文本更改为继承背景的红色边框:
我们在许多页面的数百个位置使用此按钮。它位于具有各种背景颜色(以及一些背景图像)的部分中。
对于旧的按钮处理方式,我不必担心确定文本颜色时的背景颜色。文本颜色始终是白色:
现在,字体颜色需要根据背景颜色进行更改。根据背景的深浅,它必须是白色或紫色。在浅色背景上,白色不起作用:
因为这个按钮在很多地方都使用到了,我不想每个按钮都手动选择。CSS 有没有一种方式可以根据背景的深度选择两种背景颜色中的一种?例如:
对于旧的按钮处理方式,我不必担心确定文本颜色时的背景颜色。文本颜色始终是白色:
.secondary-button {
color: white;
}
现在,字体颜色需要根据背景颜色进行更改。根据背景的深浅,它必须是白色或紫色。在浅色背景上,白色不起作用:
因为这个按钮在很多地方都使用到了,我不想每个按钮都手动选择。CSS 有没有一种方式可以根据背景的深度选择两种背景颜色中的一种?例如:
.secondary-button {
color: calc(background-color>#999?purple:white);
}
我找到了一些用JavaScript实现的方法:基于背景亮度改变文本颜色?,以及语言无关的算法来计算颜色的深浅:根据背景颜色确定字体颜色,但是我找不到纯CSS解决方案。
.secondary-button {color: white; }
和.lightBG .secondary-button {color: black;}
你正在使用具有较浅背景的父元素来改变按钮的文本颜色。 - Andrewcanvas
)。 - thirtydotbackground-color:rgba(0,0,0,0.3);
- Andrew