CSS技巧:纯CSS实现文字渐变动画效果

文字渐变动画,可以实现的有两种:一种是一行文字整体变化颜色;另一种一行文字依次变化颜色。接下来,我就介绍一下这两种文字渐变的实现过程。

布局代码:

<div class="con">
    <div class="animated-text">Hello World</div>
</div>
<div class="con">
    <div class="flow">Hello World</div>
</div>

为了呈现的效果好看些,我把两个渐变文字分别放置到两个容器中。实际请仅关注 下面代码:

<div class="">Hello World</div>

当然为了美观,我把关于文字大小和对齐的样式也写在了 con 这个容器里。贴一下CSS代码:

.con{    
    display: flex;
    height: 300px;    
    border-radius: 10px;
    background: #eaeaea;
    color: #333;
    font-size: 64px;
    font-weight: 700;
    padding: 20px;
    box-sizing: border-box;
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    flex: 1;    
    margin:20px;
    flex-basis: 45%;
    margin-bottom: 10px;
    text-shadow: 0 0 10px rgba(0, 0, 0, .3);
}

两个动画的实现方法

第一种:一行文字整体变化颜色

先贴代码,再解释:

/* 定义文字渐变色动画 */
@keyframes text-color-change {
    0% {
        color: #ff3334; /* 动画开始时的颜色 */
    }
    20% {
        color: #ffcf00; /* 动画中间时的颜色 */
    }
    40% {
        color: #66ccff; /* 动画中间时的颜色 */
    }
    60% {
        color: #ff3399; /* 动画中间时的颜色 */
    }
    80% {
        color: #9933ff; /* 动画中间时的颜色 */
    }
    100% {
        color: #19e713; /* 动画结束时的颜色 */
    }
}
 
/* 应用动画到元素 */
.animated-text {
    animation: text-color-change 2s infinite alternate; /* 动画名称,持续时间,循环次数,方向 */
}

思路:这段代码定义了一个名为 text-color-change的关键帧动画,它会在五个颜色间进行变化。然后,.animated-text类使用这个动画,并设置了动画的持续时间、循环方式和是否反向播放。这样,当应用到HTML元素上时,该元素的文本颜色将会持续变化。

第二种:一行文字依次变化颜色

先贴代码,再解释:

.flow {
    height: 120px;
    background: linear-gradient(to right, red, orange, yellow, green, cyan, blue,  purple);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation:  hue 3s linear infinite;    
    padding: 20px;
}
@keyframes hue {
    0% {
        filter: hue-rotate(0deg);
    }
    100% {
        filter: hue-rotate(360deg);
    }
}

思路:这段代码定义了一个名为 hue 的动画,该动画将应用一个色彩旋转效果。通过 @keyframes 定义的 hue-rotate动画会从0deg旋转到360deg,形成一个完整的色环。动画的持续时间是3秒,并且设置为无限次循环(infinite),每次动画都会交替反向播放(alternate)。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鱼仰泳

码字不易,诚待支持,吾道不孤!

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

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

打赏作者

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

抵扣说明:

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

余额充值