要实现3D文本,基本上有3种方法:
1. 使用CSS3的投影滤镜(filter: drop-shadow)
2. 使用3d建模和CSS3 3d变换来实现(最真实)
3. 使用CSS3 text-shadow属性来实现(最简单,可复制,现代浏览器都支持)
本例简单说明使用text-shadow属性来实现3D文本的原理和方法。
这依赖于text-shadow属性的两个特性:其1是该属性可以给文本添加投影效果,其2是可以在单个元素上应用多个投影效果。
先贴一张效果图预览下:
我们看下下面这张图就明白了:
.text-3d { 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,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.2), 0 20px 20px rgba(0,0,0,.15); }这个效果的细节是调试出来的,前面几个是投影拷贝,后面几个加上淡色调模糊效果,以使得阴影平滑过渡,填补锯齿。