【CSS】文字交融展开

5 篇文章 0 订阅

实现如下效果,仅需一个动画几行代码
在这里插入图片描述
首先给文本元素添加动画

  • letter-spacing:初始文本堆在一起,结束展开文本
  • filter:初始模糊,结束清晰

然后给文本的父元素设置对比度,简单理解为亮的更亮暗的更暗。

以上样式均可通过控制台细微调整

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      background: #000;
    }

    .container {
      margin-top: 50px;
      text-align: center;
      background-color: #000;
      filter: contrast(30);
    }

    .text {
      font-size: 100px;
      color: #fff;
      animation: showup 3s forwards;
    }

    @keyframes showup {
      from {
        letter-spacing: -50px;
        filter: blur(10px);
      }

      to {
        letter-spacing: 0;
        filter: blur(0);
      }
    }
  </style>
</head>

<body>
  <div class="container">
    <span class="text">Hello World</span>
  </div>
</body>

</html>
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一种实现文字画卷展开效果的 CSS 代码: HTML 代码: ``` <div class="text-scroll"> <div class="scroll-mask"></div> <div class="scroll-text"> <p>这里是需要展示的文本内容。</p> </div> </div> ``` CSS 代码: ``` .text-scroll { position: relative; overflow: hidden; } .scroll-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%); transform: translateY(-100%); animation: scroll 2s ease-in-out forwards; } .scroll-text { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 20px; box-sizing: border-box; transform: translateY(-100%); animation: scroll 2s ease-in-out forwards; } @keyframes scroll { 0% { transform: translateY(-100%); } 100% { transform: translateY(0%); } } ``` 以上代码中,我们使用了一个父级 `.text-scroll` 元素来包裹需要展示的文本内容。我们将这个父级元素设置为相对定位,并将其 `overflow` 属性设置为 `hidden`,以便隐藏其子元素溢出的部分。然后,我们创建两个子元素,一个是用于遮罩效果的 `.scroll-mask`,另一个是用于显示文本内容的 `.scroll-text`。 我们使用 `linear-gradient` 背景渐变样式和 `transform` 属性来实现遮罩效果。在这里,我们将背景渐变的起点设置为透明色,终点设置为白色,使得遮罩从顶部逐渐向下展开。`transform: translateY(-100%)` 将遮罩元素移出可视区域,`animation` 属性将 `scroll` 动画应用到遮罩元素上,使其在 2 秒内向下展开至完全覆盖文本内容。 我们将文本内容通过 `.scroll-text` 元素显示出来,同样使用 `transform` 属性和 `animation` 属性来实现一个向下展开的动画效果。最后,我们将这些样式应用到相应的元素上,就可以实现文字画卷展开效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田本初

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值