天天看點

【每日一練】55—CSS實作3D文本動畫效果

【每日一練】55—CSS實作3D文本動畫效果

寫在前面

今天這個小練習,是之前在視訊号上分享過的,今天我們把源碼分享給大家,有興趣的小夥可以去看一下練習一下,現在我們一起來看下它的最終效果:

另外,如果還沒有關注我們視訊号的小夥伴,請記得關注我們的視訊号,後面我們會在視訊号上分享更多資源。

下面我們一起來看一下它的源碼。

HTML代碼:

<!DOCTYPE html>
<html>
<head>
<title>【每日一練】55—CSS實作3D文本動畫效果</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <div class="container">
    <div class="box">
      <span style="--i:1;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:2;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:3;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:4;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:5;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:6;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:7;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:8;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:9;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:10;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:11;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:12;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:13;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:14;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:15;"><i>CSS</i> Is <i>A</i>wesome</span>
      <span style="--i:16;"><i>CSS</i> Is <i>A</i>wesome</span>
    </div>
  </div>
</body>
</html>      

CSS代碼:

*
{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'poppins';
}
body
{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #222;
  overflow: hidden;
}
.container
{
  display: flex;
  justify-content: center;
  align-items: center;
}
.container .box
{
  transform-style: preserve-3d;
  animation: animate 15s linear infinite;
}
@keyframes animate
{
  0%
  {
    transform: perspective(1000px) rotateX(0deg) rotate(25deg);
  }
  100%
  {
    transform: perspective(1000px) rotateX(360deg) rotate(25deg);
  }
}
.container .box span
{
  position: absolute;
  color: #fff;
  font-size: 3.5em;
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 900;
  padding: 0 10px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent);
  line-height: 0.76em;
  transform-style: preserve-3d;
  text-shadow: 0 5px 15px rgba(0,0,0,0.25); 
  transform: translate(-50%,-50%) rotateX(calc(var(--i) * 22.5deg)) translateZ(106px);
}
.container .box span i:nth-child(1)
{
  font-style: initial;
  color: #ff246f;
}
.container .box span i:nth-child(2)
{
  font-style: initial;
  color: #12b5ff;
}      

寫在最後

以上就是【每日一練】的全部内容,希望今天的小練習對你有用,如果你覺得有幫助的話,請點贊我,并将它分享給你身邊做開發的朋友,也許能夠幫助到他。

我是楊小愛,我們明天見。

【每日一練】55—CSS實作3D文本動畫效果