css3下实现文字渐变

bskin
文字渐变在图片处理中很容易实现,但是要通过css实现还是让人耳目一新,让人顿时感觉高大上。最初看到这个效果,是在“听风扯淡”那,一个爱折腾的文艺青年。之后翻翻找找,终于在zhangxinxu那找到了答案。最近想折腾logo,于是果断想起了这文字渐变效果,果断拿来和众基友分享之。

这个效果目前仅支持Chrome或是Safari浏览器,so 不是这两货的,就别想了……

效果如图:
20140511213207

方法一:借助mask-image属性
相应的HTML代码如下:

天赐美妞


与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)));

方法二:background-clip + text-fill-color下的实现
此处实现相对上面要简单些,HTML代码如下:

天赐美妞


与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代码中关键有用的其实就是最后三行,此方法虽然使用的CSS属性相对多些,但是结构简单,易于控制,颜色的选取与控制也更精确,理解上也更容易理解。

文字渐变本身就是装饰性的功能,只能在Chrome浏览器或是Safari浏览器下才能看到渐变效果。Firefox浏览器下纯色,IE下就更不用说了。

10 条评论

  1. -webkit-linear-gradient:
    -webkit-gradient:
    -moz-linear-gradient:
    -ms-linear-gradient:
    -o-linear-gradient:

    可以兼容IE10+和其他常用浏览器