2011-05-24 69 views
0

难以将渐变应用于使用Lettering.js/Kern.js处理的文本。以下是精简版:将CSS3线性渐变应用于跨度文本

Lettering.js将单词中的每个字符分隔为具有上升类的单独跨度。从那里,你可以调整每个字母的边距,因此“改变”它!

我想有两种方法可以去解决这个问题。或者使用带有repeat-x的透明图像并覆盖它(以下称为方法1),或者沿着仅用于webkit的道路并使用webkit渐变作为填充颜​​色(方法2)。至少从理论上讲......

两种方式都不适合我!

方法1-如何将图像仅应用于字母......而不是中间的负面空间。

方法2-什么属性做我设置了梯度下,以填补文本

这里是我的代码..谢谢!

HTML:

<header> 
    <h1>LARA</h1> 
</header> 

CSS:

h1 { 
     font-family:FuturaStdExtraBold; 
     font-size:200px; 
     font-weight:normal; 
     font-style:normal; 
     color:#333e52; 
     //Method 1 
     background: url(../img/overlay_light.png) repeat-x; 
     text-shadow: 0 1px 3px rgba(0,0,0,1); 
     //Method 2 
     //-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(27,33,44,1)), color-stop(50%, rgba(255,255,255,1)), to(rgba(27,33,44,1))); 
    } 

回答

2

您只需要使用神奇的webkit:

-webkit-background-clip: text 

或使用SVG的文本和渐变填充。 (顺便说一句,如果你只是在使用webkit,你可以使用CSS字母间隔,不需要使用跨度将你的东西弄乱)