查看原文
其他

【每日一练】36—CSS实现一款炫酷的3D 文本旋转效果

杨小爱 web前端开发 2022-12-03


写在前面

关于CSS 3D的效果,我之前也分享过一些,在视频号上也有,当然,视频号上没有源码,有兴趣的小伙伴,可以跟着视频自己敲代码,当然,这些代码,我后面也会分享到我们的网站上,大家可以直接到网站上获取源码。

现在,我们先来看一下今天的这个CSS 3D文本效果:

因为是录屏效果,这个动画看起不是很流畅,大家可以直接把源码下载到本地,然后到浏览器里进行观赏,那个效果比这个截图要好很多。

下面,我们再一起来看一下源码。

HTML代码:
<!DOCTYPE html><html><head><title>【每日一练】36—CSS实现一款炫酷的3D 文本旋转效果</title></head><body> <div class="box"> <div> <span style="--i:1;"></span> <span style="--i:2;"></span> <span style="--i:3;"></span> <span style="--i:4;"></span> <span style="--i:5;"></span> <span style="--i:6;"></span> <span style="--i:7;"></span> <span style="--i:8;"></span> <span style="--i:9;"></span> <span style="--i:10;"></span> <span style="--i:11;"></span> <span style="--i:12;"></span> <span style="--i:13;"></span> <span style="--i:14;"></span> <span style="--i:15;"></span> <span style="--i:16;"></span> <span style="--i:17;"></span> <span style="--i:18;"></span> <span style="--i:19;"></span> <span style="--i:20;"></span> <span style="--i:21;"></span> <span style="--i:22;"></span> <span style="--i:23;"></span> <span style="--i:24;"></span> </div> </div></body></html>
CSS代码:
*{ margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif;}body{ background: #333; overflow: hidden; min-height: 100vh; display: flex; justify-content: center; align-items: center;}.box{ position: relative; width: 100%; height: 350px; transform-style: preserve-3d;}.box div{ position: absolute; width: 100%; height: 100%; transform-style: preserve-3d; animation: animate 24s linear infinite;}.box div span{ position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; box-sizing: border-box; transform: rotateX(calc(var(--i) * 15deg));}.box div span:before{ content: 'CSS Only'; position: absolute; width: 100%; color: #fffe; text-transform: uppercase; font-size: 8em; height: 100px; text-align: center; font-weight: 800; -webkit-text-stroke: 2px #000; text-shadow: 0 0 50px rgba(0,0,0,0.5);}.box div span:nth-child(3n+2)::before{ color: #e3f2fddd;}.box div span:nth-child(3n+3)::before{ color: #fce4ecdd;}@keyframes animate{ 0% { transform: perspective(1000px) rotateX(0deg); } 100% { transform: perspective(1000px) rotateX(360deg); }}

写在最后

以上就是我今天跟你分享的【每日一练】的小项目练习,希望今天的小练习对你有用,如果你觉得有帮助的话,请点赞我,关注我,并将它分享给你身边做开发的朋友,也许能够帮助到他。

我是杨小爱,我们明天见。

PS:这个是我们视频号上的一个3D效果,大家可以看一下,源码后面我们会分享在网站(网站我们目前在调整修改中)上,如果想看实现源码的话,可以自行关注一下。

学习更多技能

请点击下方公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存