【开发小技巧】029—用CSS如何制作一个波浪形文本动画效果

在今天的文章里,我们采用HTML和CSS来实现一个波浪形的动画文本。它是最简单的CSS动画效果之一。对于初学者来讲,这是学习CSS伪元素概念的最佳示例之一。

实现方法,通过结合使用一些CSS属性来执行获取波浪文本的基本思想。主要的“主体”部分是通过使用<body>标记内的<span>标记创建的。CSS代码用于创建HTML结构的“主体”部分的波浪形文本。

HTML代码如下:

<div class="wavy"> 
        <span style="--i:1">W</span> 
        <span style="--i:2">E</span> 
        <span style="--i:3">B</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> 


    </div> 

我们通过HTML代码里的HTML标签,先设计一个用于演示的波浪效果的文本。

接着再通过CSS代码,为HTML标签里的文本添加动画效果,CSS代码如下:

 <style type="text/css"> 
        body { 
            display: flex; 
            justify-content: center; 
            align-items: center; 
            min-height: 100vh; 
            background-color: #1ab1cc; 
        } 
  
        .wavy { 
            position: relative; 
        } 
  
        .wavy span { 
            position: relative; 
            display: inline-block; 
            color: #fff; 
            font-size: 2em; 
            text-transform: uppercase; 
            animation: animate 2s ease-in-out infinite; 
            animation-delay: calc(0.1s * var(--i)); 
        } 
  
        @keyframes animate { 
            0% { 
                transform: translateY(0px); 
            } 
  
            40% { 
                transform: translateY(-40px); 
            }  


              80% transform: translateY(-80px); 
            } 
            


            100% { 
                transform: translateY(0px); 
            } 
        } 
</style> 

最后,将两部分代码进行结合,我们得到了以下完整的代码:

<!DOCTYPE html> 
<html> 


<head> 
    <meta charset="utf-8"> 
    <style type="text/css"> 
        body { 
            display: flex; 
            justify-content: center; 
            align-items: center; 
            min-height: 100vh; 
            background-color: #1ab1cc; 
        } 


        .wavy { 
            position: relative; 
        } 


        .wavy span { 
            position: relative; 
            display: inline-block; 
            color: #fff; 
            font-size: 2em; 
            text-transform: uppercase; 
            animation: animate 2s ease-in-out infinite; 
            animation-delay: calc(0.1s * var(--i)); 
        } 


        @keyframes animate { 
            0% { 
                transform: translateY(0px); 
            } 


            40% { 
                transform: translateY(-40px); 
            }  


              80% transform: translateY(-80px); 
            } 




            100% { 
                transform: translateY(0px); 
            } 
        } 
</style> 
</head> 


<body> 
    <div class="wavy"> 
        <span style="--i:1">W</span> 
        <span style="--i:2">E</span> 
        <span style="--i:3">B</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> 


    </div> 
</body> 


</html> 

通过运行此代码,我们看到最终效果:

本文完~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值