CSS3 制作文字特效

今天主要搜集了一些网页中文字用css3制作的特效,并亲自尝试了一下,现把关键的代码和效果贴出来与同学们一起分享,希望能对大家在平时的制作中有所帮助。废话不说,直接进入效果的制作,感兴趣的同学跟着我的代码制作一次,你肯定会有不少的收获。

Inset Text(内阴影效果)

内阴影的文字效果是利用text-shadow属性根据不同光源制作出来的。需要注意三个颜色的配置问题,背景色,前景色,阴影色需要采用有一定的亮度对比色,这样效果更佳,请看下面的效果。

.insetText h2{
    color: #f00;
    text-shadow: 1px 1px 0px #212121;
}

效果如下所示:

CSS3 制作文字特效

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

效果如下所示:

CSS3 制作文字特效

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
}

效果如下所示:

CSS3 制作文字特效

Letterpress Effect (凸版效果)

Letterpress Effect和前面的Inset Effect效果很相似,不同之处是Lefferpress使用模糊值产生一种立体效果。这种效果一般配合在有纹理的背景下使用。

.letterpressText h2 {
    color: #222;
    text-shadow: 0px 2px 3px #555;
}

效果如下所示:

CSS3 制作文字特效

Text Embossing(浮雕效果)

浮雕效果我们在这里分两种效果,其中一种是背景色是暗色,前景色是亮色,另一种是背景色是亮色,而前景色是暗色,下面我们先来看第一种:

.embossing h2 {
    color: #FFFFFF;
    text-shadow: 0 -1px 0 #374683;
}

效果如下所示:

CSS3 制作文字特效

第二种,背景色为亮色,前景色为暗色:

.embossingTwo h2 {
    color: #737373;
    text-shadow: 0px 1px 0px #e5e5ee;
}

效果如下所示:

CSS3 制作文字特效

Stroke Effect(描边效果)

在webkit内核的浏览器中我们可以使用text-stroke来制作文字描边或抽空的效果。

.stroke h2 {
    color: #c00;
    -webkit-text-stroke: 1px #000;
}

效果如下所示:

CSS3 制作文字特效

上面这种效果,在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;
}

效果如下所示:

CSS3 制作文字特效

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 制作文字特效

有关于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);
}

效果如下所示:

CSS3 制作文字特效

有关于transform更详细的介绍请点这里

Emboss Effect(浮雕效果)

采用上下不同色调,亮色为上,暗色为下,制作出浮雕效果:

.emboss h2 {
    color: #ccc;
    text-shadow: -1px -1px #fff, 1px 1px #333;
}

效果如下所示:

CSS3 制作文字特效

Blury Effect(模糊效果)

模糊效果是将前景色设置为透明,然后给其加上text-shadow,并只进行模糊度的设置:

.blury h2 {
    color: transparent;
    text-shadow: 0 0 4px #f36;
}

效果如下所示:

CSS3 制作文字特效

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;
}

效果如下所示:

CSS3 制作文字特效

有关于更多的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);
}

效果如下所示:

CSS3 制作文字特效

纹理文字

纹理文字效果是依靠一张图片,配合其他文字效果制作出来,其原理来源于webkit-mask-image,把图片当作一个遮罩,叠合文字,先看其html结构:

<h2 class="grunge">Grunge Effect <span></span></h2>

纹理图片如下所示:

CSS3 制作文字特效

加上样式:

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");
}

效果如下所示:

CSS3 制作文字特效

这里有一点需要特别提出,h2背景色需要和图片颜色接近,从成造成一种假像(我一开始就吃了这个亏,没有设置好背景色)。给人视觉效果就是背景图片填充到文本中去了。同时也可以使用这种方法来制作文字的渐变效果,但需要注意的是图片的渐变色需要配合好文字的背景色。有关于这方面的解决大家可以看看nickla写的《CSS Gradient Text Effect》。更多的相关DEMO的制作可以拼命点这里

Gradient Effect

文字渐变效果是使用webkit-mask-image来制作,但这种效果只有Chrome和Safari支持。

<h1><a href="#">Gradient Effect</a></h1>
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;
}

效果如下所示:

CSS3 制作文字特效

这种制作渐变效果,大家要是感兴趣可以参考Nice web type的《Pure css text gradient(no Pngs)》一文。

综合上面的效果,大家肯定深有体会,这些效果我们使用最多的一个属性就是css3的text-shadow,如果你还不了解这个属性,而又想了解,就点这里进入吧。

原文链接:https://www.w3cplus.com/css3/text-effect

发表评论

登录后才能评论