CSS 字体新玩法之彩色字体的实现

在过去,虽然有很多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字体样式。