专栏首页FEWY简单说 通过CSS实现 文字渐变色 的两种方式

简单说 通过CSS实现 文字渐变色 的两种方式

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/FE_dev/article/details/78450844

说明

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

解释

方式一

效果图

代码

<!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 属性 规定背景的绘制区域

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

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

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

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

方式二

效果图

代码

<!doctype html>
<html lang="en">
<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>

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

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

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

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

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

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

总结

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 简单说 CSS中的mask—好好利用mask-image

    CSS中的 mask 属性允许用户屏蔽或剪裁特定点的图像来实现,部分或完全隐藏某个元素的可见性。 好吧,这个概念可能有点不好理解,先看图。

    FEWY
  • 获取页面中被选中元素的 JS原生方法 与 jQuery方法 分析

    补充 然而说到获取属性,我们一定会想到getAttribute() 方法,返回值是属性的值 或者 null,但是这个方法来获取checked属性的值,并...

    FEWY
  • :before 和 :after的多用途实践 — 特效篇(3)

    按钮一 先利用 :after 伪元素生成一个块级元素,刚开始,这个块级元素的宽虽然是100%,但是它没有高,所以会看不到,然后利用定位 和 转换 让它始终居...

    FEWY
  • 奇妙的 CSS MASK

    顾名思义,mask 译为遮罩。在 CSS 中,mask 属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域。

    Sb_Coco
  • 如何识别图像边缘

    图像识别?的搜寻结果 百度百科 [最佳回答]图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。一般工业使用中,采用工业相...

    昱良
  • 物联网安全与区块链

    即使一个经验丰富的工程师,对于设备的完整性、数据保护和设备管理, DIY安全也不会得到保证,近来物联网设备的应用让这一观点变得痛苦而清晰。2017年底,有超过5...

    半吊子全栈工匠
  • 连仕彤博客[Python笔记] isinstance() 函数

    isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。但是isinstance和type是有区别的:

    行 者
  • 区块链技术世界

    rectinajh
  • 数学最高奖项阿贝尔奖发布,首位女性数学家获奖

    美国数学家德克萨斯大学名誉教授凯伦 · 乌伦贝克 (Karen Uhlenbeck)刚刚获得由挪威科学与文学学院颁发的阿贝尔奖-数学界最高荣誉之一。 自201...

    大数据文摘
  • 数学最高奖项阿贝尔奖发布,首位女性数学家获奖

    美国数学家德克萨斯大学名誉教授凯伦 · 乌伦贝克 (Karen Uhlenbeck)刚刚获得由挪威科学与文学学院颁发的阿贝尔奖-数学界最高荣誉之一。 自201...

    abs_zero

扫码关注云+社区

领取腾讯云代金券