成品

阿星的小窝

阿星的小窝

大致效果如上,这是我在与彩虹字斗智斗勇个小时的结果。

仔细看才发现,首页和文章页显示的效果不一样!!!

实际效果请前往首页查看左上角的效果。

代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>阿星的小窝</title>
<style>
  .rainbow-text {
    font-size: 30px;
    font-weight: bold;
    font-family: 'Arial', sans-serif;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background-image: linear-gradient(135deg, 
      #FF0000, #FF7F00, #FFFF00, #00FF00, #0000FF, #8B00FF, 
      #FF0000); /* 调整颜色,并确保首尾颜色相同 */
    background-size: 300% 300%; /* 调整背景尺寸 */
    animation: rainbow-animation 10s ease-in-out infinite; /* 缩短动画时间,使过渡更快 */
  }

  @keyframes rainbow-animation {
    0%, 100% {
      background-position: 100% 50%;
      animation-timing-function: ease-in; /* 接近首尾时减慢速度 */
    }
    25% {
      background-position: 0% 50%;
      animation-timing-function: ease-out; /* 离开首尾时加快速度 */
    }
    50% {
      background-position: 0% 50%;
      animation-timing-function: ease-in; /* 接近首尾时减慢速度 */
    }
    75% {
      background-position: 100% 50%;
      animation-timing-function: ease-out; /* 离开首尾时加快速度 */
    }
  }
</style>
</head>
<body>

<h1 class="rainbow-text">阿星的小窝</h1>

</body>
</html>

原本我想实现的效果是下面这样:

失败品

字体从左上向右下循环播放,但是横轴总是对不齐,会变成这样的效果:

阿星的小窝

阿星的小窝

盯着他你会发现每过一段时间就会出现一个垂直的过渡。

以及下面这样,虽然没有了这个问题,但是方向反了,而且不管是上面还是下面,都有一个问题,那就是首尾衔接有问题。

阿星的小窝

阿星的小窝

非常生硬的一个过渡。

虽然上面所说的失败问题可能在这里看不太出来,但是放在左上角作为标题展示的时候,问题就被无限制的放大了。

反正我看着难受,我受不了。