我有一个领域的背景。底部是绿色,顶部是灰色。背景上有文字。有没有办法让文本“感知”背景是什么颜色,并以某种方式着色字体以使其形成对比?
例如,灰色天空上的文字会变得更亮,绿色区域上的文字会变得更暗,以使其更加明显。
我可能会在这个问题上走得很远,但任何建议都值得赞赏。 (请注意,我不是在寻找手动更改字体颜色的答案。)
答案 0 :(得分:16)
更多作为实验而非:
设置背景继承的文本,以获取基础的背景;然后将其剪辑到文本,然后对其应用一些过滤器:
.test {
width: 800x;
height:220px;
font-size: 200px;
background-image: url(bosque.jpg);
color: white;
position: relative;
}
.inner {
position: relative;
background-image: inherit;
-webkit-background-clip: text;
color: transparent;
-webkit-filter: invert() sepia();
}
(仅适用于webkit)
还检查这些:
更新:我们有新方法来处理这个问题。请参阅使用mix-blend-mode的演示:差异
div {
font-size: 300px;
color: gray;
mix-blend-mode: difference;
}
body {
background-image: url(http://placekitten.com/900/600);
}
<div>TEST</div>