在过去,虽然有很多css字体的样式,但是没有人能实现彩色字体的效果。在本文中,我们将向大家介绍如何在css中实现彩色字体的效果。
1. text-fill-color属性
text-fill-color是一个用于设置文本填充颜色的CSS属性。该属性可以使用rgba()值或是颜色名称。下面是一个例子:
h1 {
font-size: 72px;
letter-spacing: -0.05em;
text-shadow: 0 5px 5px #aaa;
text-fill-color: transparent;
background: -webkit-linear-gradient(left,
purple, indigo, blue, green, yellow, orange, red);
-webkit-background-clip: text;
}
在上面的例子中,text-fill-color被设置为transparent。但是通过使用-webkit-background-clip和background属性,我们可以将渐变背景应用到文本上。这时,文本看起来就像拥有彩色的填充色。
背景
在webkit浏览器中,我们通过使用-webkit-background-clip属性将背景限制在文本范围内。这个属性有三个值:
* border-box:背景被裁剪到边框框盒。
* padding-box:背景被裁剪到内边距框盒。
* text:背景被裁剪到文本范围内。
注意事项
text-fill-color其实只是一个webkit私有属性,所以我们只能在webkit浏览器中使用它。
此外,如果您将文本颜色设置为不透明,那么我们就不能再通过text-fill-color将文本变成彩色了。
2. mix-blend-mode属性
另一种实现彩色字体的方法是使用mix-blend-mode属性。mix-blend-mode可以将文本与背景混合。如果我们使用背景为彩色,那么文本就会变成彩色了。下面是一个例子:
h1 {
font-size: 72px;
letter-spacing: -0.05em;
text-shadow: 0 5px 5px #aaa;
background: -webkit-linear-gradient(left,
purple, indigo, blue, green, yellow, orange, red);
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
mix-blend-mode: screen;
}
在上面的例子中,我们在h1元素上设置了mix-blend-mode: screen。这意味着文本与背景将会进行屏幕混合,从而形成一种彩色的效果。
注意事项
因为mix-blend-mode属性也是webkit私有属性,所以我们只能在webkit浏览器上使用它。此外,如果我们将文本颜色设置为不透明,那么我们就不能再通过mix-blend-mode将文本变成彩色了。
小结
在上面的例子中,我们介绍了两种实现彩色字体的方法,分别是使用text-fill-color和mix-blend-mode属性。这两种方法都需要在webkit浏览器中使用,但它们确实能够给我们提供一种全新的CSS字体样式。