CSS3 阴影(text-shadow)

jopen 4年前

在以前,阴影效果一般都是做成图片,现在有了CSS3 可以直接使用text-shadow 属性来实现阴影。这个属性可以有两个作用,产生阴影和模糊主体。这样在不需要图片的情况下就能给文字增加质感。

基本语法:

text-shadow : none | <length> none | [<shadow>, ] * <shadow> 或none | <color> [, <color> ]*  也就是:  text-shadow:[颜色(Color)  x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)],[颜色(color) x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)]...  或者  text-shadow:[x轴(X Offset) y轴(Y Offset)  模糊半径(Blur)  颜色(Color)],[x轴(X Offset) y轴(Y Offset)  模糊半径(Blur)  颜色(Color)]...


取值范围:

    <length>: 长度值,可以是负值。用来指定阴影的延伸距离。其中X offset是水平偏移值,Y Offset是垂直偏移值。

    <color>: 指定阴影颜色,也可以是 rgba透明色

    <shadow>: 阴影的模糊值,不可以是负值,用来指定模糊效果的作用距离。

如下图所示:

CSS3 阴影(text-shadow)

简单说明:

    可以给一个对象应用一组或多组阴影效果,方式如前面的语法显示一样,用逗号隔开。text-shadow: X-Offset Y-Offset Blur Color 中X-Offset 表示阴影的水平偏移距离,其值为正值时阴影向右偏移,如果其值为负值时,阴影向左偏移; Y-Offset 是指阴影的垂直偏移距离,如果其值是正值时,阴影向下偏移反之其值是负值时阴影向顶部偏移;Blur是指阴影的模糊程度,其值不能是负值,如果值越大,阴影越模糊,反之阴影越清晰。如果不需要阴影模糊可以将Blur值设置为0;Color是指阴影的颜色,其可以使用rgba色。

.demo   {       background: #666666;       width: 440px;       padding:30px;       font: bold 55px/100% "微软雅黑", "Lucida Grande", Arial, Sans;       color: #fff;       text-transform: uppercase;   }


接下来我们在每个Demo上加上自己特定的样式,分别如下所示:

.demo1  {       text-shadow: red 0 1px 0;  }


CSS3 阴影(text-shadow)

效果一: Glow and Extra Glow effect (也就是 NEON effect)

.demo1  {  text-shadow: 0 0 20px red;  }


CSS3 阴影(text-shadow)

    辉光效果,我们设置比较大的模糊半径来增强其辉光效果,你可以改变不同的模糊半径来达到不同的效果,当然你也可以同时增加几个不同的半径值,创造多种不同的阴影效果。就如下面的NEON效果。

.demo1{text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 40px #ff00de, 0 0 70px #ff00de;}


CSS3 阴影(text-shadow)

效果二:Stroke text effect

.demo1{text-shadow: 1px 1px 0 #f96, -1px -1px 0 #f96;}


CSS3 阴影(text-shadow)

描边效果跟我们在Photoshop相比,效果差很多,出现断点,但有时还是可以使用达到一种特殊的描边效果,其主要运用两个阴影,第一个向左上投影,而第二向右下投影,还需注意,制作描边的阴影效果不适用模糊值。

效果三: 3D text effect

.demo1 {       text-shadow: 1px 1px rgba(197, 223, 248,0.8),       2px 2px rgba(197, 223, 248,0.8),       3px 3px rgba(197, 223, 248,0.8),       4px 4px rgba(197, 223, 248,0.8),       5px 5px rgba(197, 223, 248,0.8),       6px 6px rgba(197, 223, 248,0.8);   }


CSS3 阴影(text-shadow)

.demo1  {      text-shadow: -1px -1px rgba(197, 223, 248,0.8),      -2px -2px rgba(197, 223, 248,0.8),      -3px -3px rgba(197, 223, 248,0.8),      -4px -4px rgba(197, 223, 248,0.8),      -5px -5px rgba(197, 223, 248,0.8),      -6px -6px rgba(197, 223, 248,0.8);  }


CSS3 阴影(text-shadow)

        3D文字效果运用原理就是想Photoshop一样,我们在文字的下方或者上方复制了多个图层,并把每一个层向左上或右下方向移动一个1px距离,从而制作出3D效果。同时我们层数越多,其越厚重。换成用text-shadow 制作就是使用多个阴影,并把阴影色设置相同,给其使用rgba色效果更佳,如上面的实例。

使用text-shadow还可以设置出来很多的效果,在此不再一一叙述:详情请参考下面的链接:

http://www.cnblogs.com/lhb25/archive/2013/01/30/css3-text-shadow.html