css3下实现文字渐变

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

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

效果如图:
20140511213207

方法一:借助mask-image属性
相应的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)));

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

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

共有 10 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注