有没有一种方法可以在下面的示例中达到效果, 无需复制内容,仅使用html和CSS?
因此,您基本上拥有一侧是color1和background1,另一侧是color2加background2的文本?
要复制的示例代码:
<div style="width: 50%; background-color: black; overflow: hidden; height: 300px;display: inline-block;">
<p style="width: 200%; color: white">
I am multicolor text. Multicolor text i am. This really does feel great. However, to get this, i need duplicated content. Is there a css way to do the same effect without duplicated content? I am multicolor text. Multicolor text i am. This really does feel great. However, to get this, i need duplicated content. Is there a css way to do the same effect without duplicated content?
</p>
</div><div style="width: 50%; background-color: white; overflow: hidden; height: 300px;display: inline-block;">
<p style="width: 200%; color: black; transform: translateX(-50%)">
I am multicolor text. Multicolor text i am. This really does feel great. However, to get this, i need duplicated content. Is there a css way to do the same effect without duplicated content? I am multicolor text. Multicolor text i am. This really does feel great. However, to get this, i need duplicated content. Is there a css way to do the same effect without duplicated content?
</p>
</div>
答案 0 :(得分:3)
是,通过将mix-blend-mode
CSS属性设置为值difference
。 (我还给出了一个示例,说明如何在没有transform
的情况下创建此背景图像。)
作为一项额外的奖励,这还使文本选择正常工作。 :)
#main {
background: linear-gradient(to right, #000 50%, #fff 50%);
}
#main > p {
color: #fff;
mix-blend-mode: difference;
}
<div id="main">
<p>I am multicolor text. Multicolor text i am. This really does feel great. No duplicated content was needed for this effect. It's created by using blending effects. I am multicolor text. Multicolor text i am. This really does feel great. No duplicated content was needed for this effect. It's created by using blending effects.</p>
</div>
答案 1 :(得分:3)
您还可以使用background-clip:text
用渐变色为文本着色,并且可以轻松地使用任何颜色组合:
#main {
background: linear-gradient(to right, red 50%, #fff 50%);
}
#main>p {
background: linear-gradient(to left, blue 50%, #fff 50%);
display: inline-block;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
color:transparent;
}
<div id="main">
<p>I am multicolor text. Multicolor text i am. This really does feel great. No duplicated content was needed for this effect. It's created by using blending effects. I am multicolor text. Multicolor text i am. This really does feel great. No duplicated
content was needed for this effect. It's created by using blending effects.</p>
</div>