如何利用CSS3制作3D效果文字具体实现样式

html-css010

如何利用CSS3制作3D效果文字具体实现样式,第1张

复制代码代码如下:.example-class{text-shadow: [X offset] [Y offset] [Blur size] [Colour]}译者注:X表示x轴上的位移,可为负值;Y表示y轴上的位移,可为负值;Blur表示投影的宽度,不能为负值;Color为投影的颜色。堆叠多层CSS投影虽然我们没有必要堆叠多层投影,但通过堆叠多层投影会有更好的3D效果开始创建3D文字你可能会选择比文字更深的颜色来作为投影的颜色,所以这个例子中我就用白色的文字,用深一点的灰色作为投影颜色,这个例子中我将H2的文字渲染3D效果,css代码如下:复制代码代码如下:h2{text-shadow:1px 1px 0 #CCC,2px 2px 0 #CCC, /* end of 2 level deep grey shadow */3px 3px 0 #444,4px 4px 0 #444,5px 5px 0 #444,6px 6px 0 #444/* end of 4 level deep dark shadow */}效果如下:好了,到这里你已经创建了基本的3D文字,然而,让我们进一步来实现鼠标滑过的文字放大效果,并用css的transision属性实现圆滑的淡入淡出效果。首先用transform属性实现滑过字体放大复制代码代码如下:h2:hover{/* CSS3 Transform Effect */-webkit-transform: scale(1.2)/* Safari &Chrome */-moz-transform: scale(1.2)/* Firefox */-o-transform: scale(1.2)/* Opera */}效果如下:然后利用transition属性实现淡入淡出效果复制代码代码如下:h2{/* CSS3 Transition Effect */-webkit-transition: all 0.12s ease-out/* Safari &Chrome */-moz-transition: all 0.12s ease-out/* Firefox */-o-transition: all 0.12s ease-out/* Opera */}到此,我们就用CSS3实现了3D效果的文字,并且在鼠标滑过是让字体放大,且有淡入淡出的效果,这一切是用纯CSS实现的哦。

新建html文档,粘贴以下代码,保存后用浏览器打开,可以看到效果

<!doctype html><link href='http://fonts.googleapis.com/css?family=Ultra&v2' rel='stylesheet' type='text/css'><style>body{background:#333}h1{font:normal 90px/1.5 'Ultra','Curlz MT','Bauhaus 93','Blackoak Std',Courier,Arialcolor:#7e9409position:absolutetop:85pxleft:10pxwidth:300px    -moz-animation: 1s slidein    -webkit-animation: 1s slidein    -webkit-perspective: 600    -moz-perspective: 600px}@-moz-keyframes slidein {    from {top:1550px}    85% {top:5px}    to {top:85px}}@-webkit-keyframes slidein {    from {top:1550px}    85% {top:5px}    to {top:85px}}.myLogo,.myLogo a{    -moz-transition: all 2s ease-in-out 0s    -webkit-transition:all 2s ease-in-out 0    transition:all 2s ease-in-out 0}.myLogo{position:relativedisplay:inline-blockzoom:1top:0left:0text-shadow:-2px -1px 1px #7e9409opacity: 0.8filter:alpha(opacity=50)    -webkit-transform: rotateY(30deg)    -moz-transform: rotateY(30deg)    transform: rotateY(30deg)}h1:hover .myLogo {     /* 3d-transform */     -webkit-transform: rotateY(0)    -moz-transform: rotateY(0)    transform: rotateY(0)    text-shadow:0}.myLogo a{position:absolutetop:1pxleft:5pxcolor:#B7D902text-shadow:-1px -1px 1px #ffftext-decoration: none}h1:hover .myLogo a{left: 2px}</style> <h1>    <span class="myLogo">百度经验分享 CSS3 3D效果</span></h1>

text-shadow: h-shadow v-shadow blur color

h-shadow 水平阴影位置

v-shadow 竖直阴影位置

blur 模糊距离

color 阴影颜色

通过合理的调整就可以制作出3D的效果

当然动态的 transform:rotateY() 这些属性也可以做出3D效果 看你具体想要什么