我是靠谱客的博主 哭泣小懒猪,这篇文章主要介绍详解纯CSS实现文字渐变色的两种方式,现在分享给大家,希望可以做个参考。

本篇文章给大家介绍使用纯CSS实现文字渐变色的两种方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

说明


这次的重点就在于两个属性,

  • background 属性

  • mask 属性

这两个属性分别是两种实现方式的关键。

方式一


效果图

1.png

代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> span { background: linear-gradient(to right, red, blue); -webkit-background-clip: text; color: transparent; } </style> </head> <body> <span>前端简单说</span> </body> </html>
登录后复制

代码不多,我们来看看,
background: linear-gradient(to right, red, blue); 这行是给背景设置为渐变色,这里注意一点,这样是简写了,其实是给background-image 设置为渐变色,不是 background-color ,是背景图 取值为渐变色,如果不知道渐变色,直接到这里看,
CSS3 渐变(Gradients)

-webkit-background-clip: text; 这行就要说到,background-clip 属性了 ,我们来看看 W3Cschool 上的说明

语法
background-clip: border-box|padding-box|content-box;

2.png

上面没有说取值 text 的情况,看到前面的前缀,大家应该也能想到,它的兼容性问题了,目前还不是能所有浏览器都支持。

取值为text的意思,就是以区块内的文字作为裁剪区域向外裁剪,文字的背景即为区块的背景,文字之外的区域都将被裁剪掉。

所以,我们最后写color: transparent; 让文字为透明色,就是让后面背景色显示出来。

方式二


效果图

3.png

代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!doctype html> <html> <head> <meta charset="UTF-8" /> <style type="text/css"> h1{ position: relative; color: yellow; } h1:before{ content: attr(text); position: absolute; z-index: 10; color:pink; -webkit-mask:linear-gradient(to left, red, transparent ); } </style> </style> </head> <body> <h1 text="前端简单说">前端简单说</h1> </body> </html>
登录后复制

代码也不多,我们简单说一下,

content取值 attr 就是用来获取属性值的,content:attr(属性名);

content: attr(text); 能获取到元素的 text 属性,这里的这个text属性是自己自定义的一个属性,你也可以在元素中加一个 tt 属性,像这样
<h1 tt="前端简单说">前端简单说</h1>
然后content属性 这样写,content: attr(tt); 同样是可以起作用的。

好的我们继续说第二种方式的重点,mask属性,因为之前已经写过一篇介绍mask属性的文章了,
简单说 CSS中的mask—好好利用mask-image
这里就不很详细的介绍了,想详细了解的朋友可以看看上面这篇文章,一定会对你有所帮助的。

mask属性简单说,就是能让元素的某一部分显示或隐藏。
我们看张图就能明白,第二种方式实现的原理了

4.png

总结

这次说的这两种方式,应该算是很容易理解了,希望对大家有点帮助。

最后

以上就是哭泣小懒猪最近收集整理的关于详解纯CSS实现文字渐变色的两种方式的全部内容,更多相关详解纯CSS实现文字渐变色内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(127)

评论列表共有 0 条评论

立即
投稿
返回
顶部