如何用CSS3给文字添加渐变

来自:选择信息来源
时间:2019-08-30
阅读:

大家都知道给一个box添加渐变背景很简单,但是如何用CSS3给文字添加渐变呢,可能有些童鞋就蒙了,用图?当然不是,如果是,那就没分享的必要了,一起来学习下。

我们从零开始学习,一共分三步:

第一步: 绘制文本

.text {
text-decoration: none;
display: inline-block;
font-size: 32px;
line-height: 1;
border-radius: 4px;
padding: 16px 32px;
background: #50935D;
color: #FFF;
}

<a href="#" class="text">Web前端之家</a>

看下效果:

如何用CSS3给文字添加渐变

第二步: 使用渐变

渐变属性 分线性渐变、径向渐变、重复性线性/径向渐变

线性渐变

background: linear-gradient(to right,#79F296 40%, #27AE60 60%);

这个很熟悉吧,如下图:

如何用CSS3给文字添加渐变

背景产生了渐变效果

to right 表示渐变方向从右边开始

'#79F296'颜色占据40%, '#27AE60'颜色占据60%

径向渐变

background: radial-gradient(circle, #79F296, #27AE60);

效果如下图:

如何用CSS3给文字添加渐变

第三步: 通过背景剪裁属性 可以使文字达到渐变效果

实现方式:

.text {
text-decoration: none;
display: inline-block;
font-size: 32px;
line-height: 1;
border-radius: 4px;
padding: 16px 32px;
background: radial-gradient(circle, #79F296, #27AE60);
color: #FFF;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

当然方法不止一种呢,一起来看下另外一种方法:

.text {
text-decoration: none;
display: inline-block;
font-size: 32px;
line-height: 1;
border-radius: 4px;
padding: 16px 32px;
background: radial-gradient(circle, #79F296, #27AE60);
color: transparent;
-webkit-background-clip: text;
}

最后还是帖下完整的DEMO代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>如何用CSS3给文字添加渐变 - Web前端之家</title>
<style>
.text {
text-decoration: none;
display: inline-block;
font-size: 32px;
line-height: 1;
border-radius: 4px;
padding: 16px 32px;
background: radial-gradient(circle, #79F296, #27AE60);
color: transparent;
-webkit-background-clip: text;
}
</style>
</head>
<body>
<a href="#" class="text">Web前端之家</a>
</body>
</html>

最终效果如下图:

如何用CSS3给文字添加渐变

关于文字渐变的效果,用的CSS3,难免有兼容性问题。目前在谷歌OK,IE低版本浏览器不支持。

大家可以去尝试下,用在移动端还是不错滴

总结

其实还有其他方法的,比如用JS,这里暂不做讨论。

返回顶部
顶部