CSS3下的渐变文字效果实现示例


Posted in HTML / CSS onMarch 02, 2018

一、方法一:借助mask-image属性

如果您手头上的浏览器是Chrome或是Safari,则您可以在demo页面中看到类似下面的效果:

CSS3下的渐变文字效果实现示例

方法一下的文字渐变效果

相应的HTML代码如下:

<h2 class="text-gradient" data-text="天赐美妞">天赐美妞</h2>

与HTML相对应的CSS代码如下:

.text-gradient {  
    display: inline-block;
    font-family: '微软雅黑';
    font-size: 10em;
    position: relative; 
}  
  
.text-gradient[data-text]::after {  
    content: attr(data-text);  
    color: green;  
    position: absolute;  
    left: 0;  
    z-index: 2;
    -webkit-mask-image: -webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000), to(rgba(0, 0, 255, 0)));
}

从CSS代码可以看出,效果的实现除了“content内容生成技术”以外,主要是使用了mask-image属性,内容则是“webkit核心浏览器下的渐变”了。

二、方法二:background-clip + text-fill-color下的实现

如果您手头上的浏览器是Chrome或是Safari,则您可以在demo页面中看到类似下面的效果:

CSS3下的渐变文字效果实现示例

方法二下的文字渐变效果

此处实现相对上面要简单些,HTML代码如下:

<h2 class="text-gradient">天赐美妞</h2>

与HTML相对应的CSS代码如下:

.text-gradient {  
    display: inline-block;
    color: green;
    font-size: 10em;
    font-family: '微软雅黑';
    background-image: -webkit-gradient(linear, 0 0, 0 bottom, from(rgba(0, 128, 0, 1)), to(rgba(51, 51, 51, 1)));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
};

CSS代码中关键有用的其实就是最后三行:

background-image: -webkit-gradient(linear, 0 0, 0 bottom, from(rgba(0, 128, 0, 1)), to(rgba(51, 51, 51, 1)));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;

此方法虽然使用的CSS属性相对多些,但是结构简单,易于控制,颜色的选取与控制也更精确,理解上也更容易理解。我个人是推荐使用方法二的。

三、结语

由于目前text-fill-color与mask-image属性貌似就webkit核心的浏览器支持,所以两个demo页面只能在Chrome浏览器或是Safari浏览器下才能看到渐变效果。Firefox浏览器下纯色,IE下就更不用说了。

但是,文字渐变本身就是装饰性的功能,所以,本着渐进增强的原则,我们在实际项目中其实是可以大胆使用的。在不影响原来功能基础上,几行CSS代码,让占有率愈来愈高的Chrome浏览器下有更好的视觉体验效果,何乐而不为呢?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
推荐一些比较有用的css3新属性
Nov 11 HTML / CSS
非常震撼的纯CSS3人物行走动画
Feb 24 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
Nov 02 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
HTML5 canvas基本绘图之文字渲染
Jun 27 HTML / CSS
HTML5学习心得总结(推荐)
Jul 08 HTML / CSS
html5 冒号分隔符对齐的实现
Jul 31 HTML / CSS
用canvas显示验证码的实现
Apr 10 HTML / CSS
使用CSS连接数据库的方式
Feb 28 HTML / CSS
VW、VH适配移动端的解决方案与常见问题
May 21 HTML / CSS
Li list-style-image 图片垂直居中实现方法
May 21 HTML / CSS
CSS3 @keyframes简单动画实现
Feb 24 #HTML / CSS
css3 实现圆形旋转倒计时
Feb 24 #HTML / CSS
css3 仿写阿里云水纹效果的示例代码
Feb 10 #HTML / CSS
纯css3使用vw和vh实现自适应的方法
Feb 09 #HTML / CSS
如何用css3实现switch组件开关的方法
Feb 09 #HTML / CSS
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
Feb 07 #HTML / CSS
css3 clip实现圆环进度条的示例代码
Feb 07 #HTML / CSS
You might like
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php实例化一个类的具体方法
2019/09/19 PHP
什么是JavaScript
2009/08/13 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
简单介绍Python中的decode()方法的使用
2015/05/18 Python
Python修改MP3文件的方法
2015/06/15 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python实现自动解数独小程序
2019/01/21 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
Python银行系统实战源码
2019/10/25 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
What is view? why do we have view?
2012/06/22 面试题
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
幸福家庭标语
2014/06/27 职场文书
给学校的建议书400字
2015/09/14 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
Python包argparse模块常用方法
2021/06/04 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js