今天主要搜集了一些网页中文字用css3制作的特效,并亲自尝试了一下,现把关键的代码和效果贴出来与同学们一起分享,希望能对大家在平时的制作中有所帮助。废话不说,直接进入效果的制作,感兴趣的同学跟着我的代码制作一次,你肯定会有不少的收获。
Inset Text(内阴影效果)
内阴影的文字效果是利用text-shadow属性根据不同光源制作出来的。需要注意三个颜色的配置问题,背景色,前景色,阴影色需要采用有一定的亮度对比色,这样效果更佳,请看下面的效果。
.insetText h2{
color: #f00;
text-shadow: 1px 1px 0px #212121;
}
效果如下所示:
text-shadow的使用请点这里。
3D Text(3D立体效果)
3D文字效果,在《CSS3的文字阴影—text-shadow》有详细介绍,这里没有使用其他的html标签,只是多次应用了CSS3中的text-shadow属性,进行多次阴影设置,并设置不同的阴影色,从而达到一个立体的文字效果。
.text3D h2 {
color: #fff;
text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,0.1), 0 0 5px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.3),0 3px 5px rgba(0,0,0,0.2),0 5px 10px rgba(0,0,0,0.25);
}
效果如下所示:
Neon Lights Effect(霓虹灯效果)
霓虹灯效果主要是多次使用text-shadow属性制作阴影,只是这里有一点需要注意,在制作阴影时不设置任何X轴和Y轴的值,只是设置其模糊半径值,并且每次的blur半径取值不同,而且后面的值总是比前面的值大。
.neonText h2 {
color: #fff;
text-shadow:0 0 5px #CCCCCC, 0 0 10px #CCCCCC, 0 0 15px #CCCCCC, 0 0 20px #095816, 0 0 25px #095816, 0 0 30px #095816, 0 0 50px #095816, 0 0 80px #095816, 0 0 100px #095816, 0 0 150px #095816
}
效果如下所示:
Letterpress Effect (凸版效果)
Letterpress Effect和前面的Inset Effect效果很相似,不同之处是Lefferpress使用模糊值产生一种立体效果。这种效果一般配合在有纹理的背景下使用。
.letterpressText h2 {
color: #222;
text-shadow: 0px 2px 3px #555;
}
效果如下所示:
Text Embossing(浮雕效果)
浮雕效果我们在这里分两种效果,其中一种是背景色是暗色,前景色是亮色,另一种是背景色是亮色,而前景色是暗色,下面我们先来看第一种:
.embossing h2 {
color: #FFFFFF;
text-shadow: 0 -1px 0 #374683;
}
效果如下所示:
第二种,背景色为亮色,前景色为暗色:
.embossingTwo h2 {
color: #737373;
text-shadow: 0px 1px 0px #e5e5ee;
}
效果如下所示:
Stroke Effect(描边效果)
在webkit内核的浏览器中我们可以使用text-stroke来制作文字描边或抽空的效果。
.stroke h2 {
color: #c00;
-webkit-text-stroke: 1px #000;
}
效果如下所示:
上面这种效果,在Firefox下可以模拟上面的效果
color: #c00;
text-shadow: 1px 1px 0 #000,-1px -1px 0 #000;
在webkit还有一个text-fill-color制作一种抽空文字的效果
.strokeTransparent h2 {
-webkit-text-stroke: 1px #000;
-webkit-text-fill-color: transparent;
}
效果如下所示:
Anaglyphic effect(补色3D效果)
Anaglyphic text effect是一种制作透明度叠加的效果,非常类似于浮雕立体的三维效果图像,实现这种办法主要是使用前景色透明度(rgba)和阴影,如:
.anaglyphic h2 {
color: rgba(255, 100, 140,0.5);
text-shadow: 3px 3px 0 rgba(80,255,0,0.8);
}
效果如下所示:
有关于CSS3的RGBA应用可以点击这里。
Rotate Text(旋转文本)
旋转文本主要使用的是transform中的rotate属性来改变文本的方向,从而达到一种旋转文本的效果,具体实现代码如下:
.rotate h2 {
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
transform: rotate(-90deg);
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
效果如下所示:
有关于transform更详细的介绍请点这里。
Emboss Effect(浮雕效果)
采用上下不同色调,亮色为上,暗色为下,制作出浮雕效果:
.emboss h2 {
color: #ccc;
text-shadow: -1px -1px #fff, 1px 1px #333;
}
效果如下所示:
Blury Effect(模糊效果)
模糊效果是将前景色设置为透明,然后给其加上text-shadow,并只进行模糊度的设置:
.blury h2 {
color: transparent;
text-shadow: 0 0 4px #f36;
}
效果如下所示:
Background-clip:text(图片填充文字)
在webkit内核的浏览器下,使用background-clip:text可以制作出用背景图片填充文本的效果:
.backgroundClip h2 {
background:url("backgroundImage.png") no-repeat left top;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
效果如下所示:
有关于更多的background-clip资料,大家可以点击这里查阅。
True Inset Effect
把inset效果和图片填充文字效果结合在一起,我们就可以制作出真正的插图文字效果,只可惜的是,现在支持这种效果的只有Chrome和Safari(也就是说只有Webkit内核)浏览器支持,下面看其实现代码:
.trueInset h2 {
background: #666;
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
color: transparent;
text-shadow: 0 3px 3px rgba(255,255,255,0.5);
}
效果如下所示:
纹理文字
纹理文字效果是依靠一张图片,配合其他文字效果制作出来,其原理来源于webkit-mask-image,把图片当作一个遮罩,叠合文字,先看其html结构:
<h2 class="grunge">Grunge Effect <span></span></h2>
纹理图片如下所示:
加上样式:
h2.grunge {
position:relative;
color: #f06369;
background: #000;
text-shadow: 0 0 2px rgba(255,255,255,0.3), -1px -1px 0 #fcfcfc, 1px 1px 0 #ccc;
}
h2.grunge span{
position:absolute;
display:block;
top:0;
left:0;
height:100%;
width:100%;
background:url("images/ground.png");
}
效果如下所示:
这里有一点需要特别提出,h2背景色需要和图片颜色接近,从成造成一种假像(我一开始就吃了这个亏,没有设置好背景色)。给人视觉效果就是背景图片 填充到文本中去了。同时也可以使用这种方法来制作文字的渐变效果,但需要注意的是图片的渐变色需要配合好文字的背景色。有关于这方面的解决大家可以看看 nickla写的《CSS Gradient Text Effect》。更多的相关DEMO的制作可以拼命点这里。
Gradient Effect
文字渐变效果是使用webkit-mask-image来制作,但这种效果只有Chrome和Safari支持。
html:
<h1><a href="#">Gradient Effect</a></h1>
css:
h1 {
position: relative;
text-shadow: 1px 0 4px #006;
font-family: Airal;
}
h1 a {
position: absolute;
top: 0;
z-index: 2;
color: #f36902;
-webkit-mask-image: -webkit-gradient(linear, left top,left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
text-descoration: none;
}
h1:after {
content: "Gradient Effect";
color: #000;
text-shadow: 1px 1px 1px #600;
}
效果如下所示: