考虑以下示例: codepen
.infobox {
width: 110mm;
height: 65mm;
background-image: url(https://i.pinimg.com/564x/86/70/f2/8670f2ab34bf4082bf3cef004aae0826.jpg);
background-size: cover;
position: relative;
}
.text {
position: absolute;
bottom: 0;
text-align: center;
color: white;
}Run Code Online (Sandbox Code Playgroud)
<div class="infobox">
<span class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel quam in enim pulvinar fringilla. Etiam molestie convallis pharetra. Sed et tortor tortor. Vestibulum ligula ex, rhoncus semper metus ut, hendrerit porttitor risus. Quisque at porta magna. Phasellus vel vulputate diam. Maecenas sem est, aliquet nec odio euismod, posuere luctus nisl. Vestibulum posuere iaculis massa, sed cursus dui pellentesque sed.</span>
</div>Run Code Online (Sandbox Code Playgroud)
我生成许多图像,有时浅色文字是可以的,但在这种情况下不是。
我试过的是:
mix-blend-mode - 没有帮助
像: filter: invert(1) grayscale(1) contrast(16) drop-shadow(.05em .05em orange);
请记住,它不仅应在许多情况下都适用,例如暗/亮背景。我可以动态地处理文本的颜色吗?
您可以简单地添加text-shadow深色,并且可以更好地渲染将要使用的图像:
.infobox {
width: 110mm;
height: 65mm;
background:
linear-gradient(to bottom,transparent,#fff),
url(https://i.pinimg.com/564x/86/70/f2/8670f2ab34bf4082bf3cef004aae0826.jpg);
background-size: cover;
position: relative;
}
.text {
position: absolute; bottom: 0;
text-align: center; color: white;
text-shadow: -1px 0 1px #000,
1px 0 1px #000,
1px 1px 1px #000,
-1px -1px 1px #000,
0 1px 1px #000,
0 -1px 1px #000;
}Run Code Online (Sandbox Code Playgroud)
<div class="infobox">
<span class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel quam in enim pulvinar fringilla. Etiam molestie convallis pharetra. Sed et tortor tortor. Vestibulum ligula ex, rhoncus semper metus ut, hendrerit porttitor risus. Quisque at porta magna. Phasellus vel vulputate diam. Maecenas sem est, aliquet nec odio euismod, posuere luctus nisl. Vestibulum posuere iaculis massa, sed cursus dui pellentesque sed.</span>
</div>Run Code Online (Sandbox Code Playgroud)