效果

分析
文字是从左到有慢慢呈现出来,不是整体消失和出现,那么肯定不能使用透明度。
我们可以想到渐变文字,然后通过改变背景的位置来控制文字的显示与隐藏。

渐变文字
渐变文字该如何实现呢?这是实现这个效果的关键步骤。
其实就是给文字设置渐变背景,然后将文字自身的颜色透明化,最后做一个背景裁切。

<style>
    h1 {
      background-image: linear-gradient(90deg, red, yellow, red, yellow, red);
      color: transparent;
      /* 背景被裁剪成文字的前景色。 */
      background-clip: text;
      -webkit-background-clip: text;
    }
</style>
<body>
    <h1>一个爬坑的Coder</h1>
</body>

进入正题

<style>
    body {
      background-color: #000;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 100vh;
    }
    h1 {
      color: #fff;
      font-size: 48px;
      background-image: linear-gradient(75deg,
       rgba(255, 255, 255, 1) 0%,
       rgba(255, 255, 255, 1) 33.3%,
       rgba(255, 255, 255, 0) 66.67%,
       rgba(255, 255, 255, 0) 100%);
      /* 将背景渐变拉伸到3倍的长度 */
      background-size: 300% 100%;
      /* 
        0%的话就是被整个白色覆盖, 文字就显示出来
        50%的话就在33.3% - 66.67%这段渐变色覆盖(白色渐变都透明色)
        100%的话就是66.67% - 100% 这段透明色覆盖, 文字就透明了
        */
      /* 那我们只需要动态改变position: 100% -> 0%即可 */
      background-position-x: 100%;
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      transition: background-position-x 2s ease-in-out;
    }
    h1:hover {
      background-position-x: 0%;
    }
</style>
<body>
    <h1>一个爬坑的Coder</h1>
</body>

温柔的抽屉_eMxmsn
1 声望0 粉丝