【CSS文字渐变动画】

CSS文字渐变动画

HTML代码

<div class="title">
  <h1>今天是春分</h1>
  <p>正是春天到来的日子,花都开了,小鸟也飞回来了,大山也绿了起来,空气也有点嫩嫩的气息了</p>
</div >

CSS代码


@property --@color-1 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(98 100% 62%);
}

@property --@color-2 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(204 100% 59%);
}

@keyframes gradient-change {
  to {
    --@color-1: hsl(210 100% 59%);
    --@color-2: hsl(310 100% 59%);
  }
}

.title {
  animation: gradient-change 2s linear infinite alternate;
  
  background: linear-gradient(
    to right in oklch, 
    var(--@color-1), 
    var(--@color-2)
  );
  
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}


效果图

在这里插入图片描述

CSS实现文字渐变色效果,主要依赖于 `-webkit-background-clip: text` 属性结合 `background-image` 使用线性或径向渐变。该技术利用了文本作为剪裁区域,将背景图像限制在文字形状内显示,从而实现渐变文字颜色的效果。 ### 文字渐变实现方法 以下是一个典型的实现方式: ```css .gradient-text { background-image: linear-gradient(to right, #ff7e5f, #feb44c); color: transparent; -webkit-background-clip: text; background-clip: text; font-size: 24px; font-weight: bold; } ``` 通过 `background-image` 设置线性渐变,`-webkit-background-clip: text` 将背景限制在文字形状内,配合 `color: transparent` 隐藏原始文字颜色,从而实现渐变文字效果。需要注意的是,`background-clip: text` 在部分浏览器中可能仍需使用 `-webkit-` 前缀,尽管现代浏览器已逐步支持标准属性[^2]。 ### 文字渐变色与伪元素结合实现动态效果 在某些场景下,可以结合伪元素实现更复杂的渐变文字动画或边框渐变效果。例如,使用 `::before` 或 `::after` 创建背景层并进行动画处理,使文字渐变色产生动态变化: ```css .animated-gradient-text { position: relative; display: inline-block; font-size: 32px; color: transparent; background: linear-gradient(to right, #ff7e5f, #feb44c); -webkit-background-clip: text; background-clip: text; } .animated-gradient-text::before { content: ''; position: absolute; top: 0; left: -50%; width: 200%; height: 100%; background: linear-gradient(to right, #ff7e5f, #feb44c); animation: moveGradient 5s linear infinite; z-index: -1; } @keyframes moveGradient { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } ``` 该方法通过伪元素创建一个比文字区域更宽的渐变背景,并通过 `transform` 动画实现渐变色的流动效果,从而增强视觉表现[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值