【每日一练】36—CSS实现一款炫酷的3D 文本旋转效果
写在前面
关于CSS 3D的效果,我之前也分享过一些,在视频号上也有,当然,视频号上没有源码,有兴趣的小伙伴,可以跟着视频自己敲代码,当然,这些代码,我后面也会分享到我们的网站上,大家可以直接到网站上获取源码。
现在,我们先来看一下今天的这个CSS 3D文本效果:
因为是录屏效果,这个动画看起不是很流畅,大家可以直接把源码下载到本地,然后到浏览器里进行观赏,那个效果比这个截图要好很多。
下面,我们再一起来看一下源码。
<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>
*
{
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效果,大家可以看一下,源码后面我们会分享在网站(网站我们目前在调整修改中)上,如果想看实现源码的话,可以自行关注一下。
学习更多技能
请点击下方公众号
评论