小tip:css3下的渐变文字效果实现——张鑫旭

Young Young     2022-08-01     148

关键词:

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

可以狠狠地点击这里:CSS3下的渐变文字效果方法一demo

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

相应的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下的实现

您可以狠狠地点击这里:CSS3下的渐变文字效果方法二demo

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

此处实现相对上面要简单些,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-colormask-image属性貌似就webkit核心的浏览器支持,所以两个demo页面只能在Chrome浏览器或是Safari浏览器下才能看到渐变效果。Firefox浏览器下纯色,IE下就更不用说了。

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

就这些。感谢阅读。参考文章:Quick Tip: Nonintrusive CSS Text Gradients

原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]
本文地址:http://www.zhangxinxu.com/wordpress/?p=1601

(本篇完)

css垂直翻转/水平翻转提高web页面资源重用性——张鑫旭

...对于实现各个浏览器兼容的元素的水平翻转或是垂直翻转效果也就成为了可能。相关的CSS代码如下:/*水平翻转*/.flipx{-moz-transform:scaleX(-1);-webkit-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1 查看详情

小tip:使用css将图片转换成黑白(灰色置灰)?张鑫旭-鑫空间-鑫生活

  小tip:使用CSS将图片转换成黑白(灰色、置灰)这篇文章发布于2012年08月19日,星期日,20:41,归类于css相关,SVG相关。阅读159943次,今日146次byzhangxinxufromhttp://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2547//zxx:最近... 查看详情

小tip:css后代选择器可能的错误认识——张鑫旭

一、关于类选择器的一个问题假设有下面一个面试题,CSS代码如下:.red{color:red;}.green{color:green;}HTML如下:<divclass="red"><divclass="green"><p>1.颜色是?</p></div></div><divclass="green"><di 查看详情

ie6下png背景不透明——张鑫旭博客读书笔记

...解决的方法补充:css滤镜主要是用来实现图像的各种特殊效果。(了解)css滤镜的标识符是“filter”,总体的应用上和其他的css语句相同。css滤镜可分为基本滤镜和高级滤镜两种。css滤镜分类CSS滤镜可以直接作用于对象上,并且... 查看详情

视区相关单位vw,vh..简介以及可实际应用场景——张鑫旭

...与这两个单位想见。大致琢磨了下,貌似vh这个单位可以实现我以前曾希望实现的的整体高度自适应布局。想到这里,自己不由得小兴 查看详情

转载张鑫旭对知乎前端相关问题的十问十答

问题一、前端现在怎么这么多人?原问题地址是:https://www.zhihu.com/question/55886635问题描述如下:投出去的简历没有人看了我的回答:想来想去,还是从一个非前端领域的切身故事说起吧。我的老家江苏泰兴是中国银杏之乡,产量... 查看详情

css3打造3d效果——perspectivetransform的深度剖析

...析和认识,突然看到perspective属性,调了半天没看出任何效果,于是开始百度......度了半天发现perspective这玩意是做3D效果的,但为甚我做demo楞没看出perspective加上去有任何3D。拜读过张鑫旭的博文后才了解perspect 查看详情

《css世界》(张鑫旭)pdf

下载地址:网盘下载  内容简介  · · · · · ·本书从前端开发人员的需求出发,以“流”为线索,从结构、内容到美化装饰等方面,全面且深入地讲解前端开发人员必须了解和掌握的大量的CSS知... 查看详情

实现文字色彩渐变(mask)

...1)Mask介绍mask组件实现的作用是,mask组件所在游戏物体下的子游戏物体在mask覆盖的范围内渲染。即如果mask组件所在的游戏物物体(简称mask游戏物体)有Image组件,且此游戏物体100*100大小,在此游戏物体下有另一1000*1000的游戏... 查看详情

[转]翻译-高质量javascript代码书写基本要点---张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1173原文作者:StoyanStefanov原文链接:TheEssentialsofWritingHighQualityJavaScript 翻译编辑:张鑫旭//zxx:俗不可耐的开 查看详情

html5新增的form属性简介——张鑫旭

...是其子元素的控件。但是,实际情况下,由于页面设计与实现的特殊性,会存在有些表单之外的元素也需要一并提交的情况,这时候,传统的表单功能就显得有些捉襟见肘了。HTML5中新增form属性就 查看详情

仿百度图片毛玻璃效果

<!doctypehtml><html><head><metacharset="utf-8"><metahttp-equiv="description"content="兼容性的局部模糊毛玻璃效果效果-百度图片首页示意»张鑫旭-鑫空间-鑫生活"/><metaname="description"content="张鑫旭we 查看详情

span与a元素的键盘聚焦性以及键盘点击性研究——张鑫旭

...都是使用的a元素或者button元素,原因是可以相应键盘focus效果以及回车触发点击事件,这是众所周知的。但是,可能存在一些特殊情况,我们需要使用默认没有键盘可访问性的元素,例如span元素,我们可以通过一定的设置支持... 查看详情

关于拜读张鑫旭文章,了解的新属性

昨天有幸拜读到张鑫旭写的就关于知乎10个问题的一篇文章(http://www.zhangxinxu.com/wordpress/2017/06/ten-question-about-frontend-zhihu/),感受颇深,也深深感受到自己的无知,张大神主要致力于研究css和html,现在就总结2个张大神在文章中... 查看详情

如何让contenteditable元素只能输入纯文本00张鑫旭

...文本域可以实现体验相当不错的高度跟随内容自动撑开的效果,但是呢,有个很大的问题就是HTML内容可以直接被粘贴进去,如下图所示:之前的文章提到过过滤HTML的方法,保证内容都是纯文本。然而,这种方法的问题在于:粘... 查看详情

解决文字与下划线重叠的问题

最近在网上看了张鑫旭老师的一个帖子(解决文字和text-decoration:underline下划线重叠问题),收获不小。原文链接(http://www.zhangxinxu.com/wordpress/2016/11/css-text-decoration-underline-skip-override/)下面我简单的分享一下张鑫旭老师的几种方... 查看详情

css世界(张鑫旭)系列学习总结

我的前端之路:作为一名web后端开发,三年前,因工作原因机缘巧合之下,独自负责模块的前后端开发,开始一边理解旧代码一边学习js、html教程,也对angular的架构进行独立思考。为了快速提高并检验自己的html水平,照着喜爱... 查看详情

display:table-cell自适应布局下连续单词字符换行——张鑫旭

之前有几次提到了使用display:table-cell实现强大的任意尺寸元素的自适应布局(都藏在长长文章之中)。这里开篇再次提一下,希望能将该技术普及下去。典型的双栏布局类名使用如下:fixlcell该类名去来自我自己整的CSS基本样式... 查看详情