找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 3529|回复: 0

[CSS] 通过CSS实现 文字渐变色 的两种方式

[复制链接]

348

主题

940

回帖

91

广播

监察巡站

我是一只咩

积分
443
泰拉
184
水晶
0
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【水贴恶魔】【我很聪明证】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】【香水有毒】【朋友控】【我很囧证】【萝莉控】【视频爱好者】【潜水高手】【我很萌证】【我是公主】

QQ
发表于 2021-5-23 10:27:39 | 显示全部楼层 |阅读模式
通过CSS实现 文字渐变色 的两种方式

这次的重点就在于两个属性,
background 属性
mask 属性
这两个属性分别是两种实现方式的关键。

方式一

image.png

  1. <html>

  2. <head>
  3.     <meta charset="utf-8">
  4.     <style>

  5.     span {
  6.         background: linear-gradient(to right, red, blue);
  7.         -webkit-background-clip: text;
  8.         color: transparent;
  9.     }
  10.     </style>
  11. </head>

  12. <body>
  13.         <span>前端简单说</span>
  14. </body>
  15. </html>
复制代码


其实是给background-image 设置为渐变色,不是 background-color ,是背景图 取值为渐变色
CSS3 渐变(Gradients)

background-clip 属性 规定背景的绘制区域

background-clip: border-box|padding-box|content-box;
image.png


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

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

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



方式二
image.png

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />

  5. <style type="text/css">
  6.     h1{
  7.         position: relative;
  8.         color: yellow;
  9.     }
  10.     h1:before{
  11.         content: attr(text);
  12.         position: absolute;
  13.         z-index: 10;
  14.         color:pink;
  15.         -webkit-mask:linear-gradient(to left, red, transparent );
  16.     }
  17. </style>
  18. </style>
  19. </head>

  20. <body>
  21.     <h1 text="前端简单说">前端简单说</h1>
  22. </body>

  23. </html>
复制代码


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

:before 选择器向选定的元素 前 插入内容。
使用content 属性来指定要插入的内容。

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

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

好的我们继续说第二种方式的重点,mask属性,因为之前已经写过一篇介绍mask属性的文章了,

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

image.png
[发帖际遇]: 袖白雪 乐于助人,奖励 11 泰拉. 幸运榜 / 衰神榜
有钱的捧个钱场 , 没钱的借钱捧个钱场!
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-4-20 12:22 , Processed in 0.104709 second(s), 39 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表