纯CSS动态渐变文本特效

news2024/11/25 11:47:45

如图所示,这是一个炫酷的文本渐变效果,如同冰岛的极光一般。本次的文章让我们逐步分解代码,了解其实现原理。

基于以上动图效果可以分析以下是本次动效实现的主要几点:

  • 文本中有多个颜色的动画
  • 每个颜色显示的半径不同,有大有小
  • 整体动画是有规律的重复进行着

实现过程

接下来开始正式的代码实现过程,通过以上可以分析出会有多个元素来实现颜色的动画,每个元素的动画轨迹和运行速度不一致,但当多个不同颜色的元素和文本结合起来就会产生一种很美丽的效果,这里的动画元素和文本结合是用了一个很重要的属性,混合模式 mix-blend-mode,对于混合模式文本不做详细介绍,这是一个很强大的属性,有兴趣的可以了解看看。

CSS中的mix-blend-mode属性用于控制元素在叠加到其他元素时的混合模式。它可以应用于具有背景色或背景图片的元素,以改变其与父元素或其他元素的混合方式。它可以创建各种视觉效果和创意设计。

布局&样式

html部分比较简单,只需要一个标题和多个动画承载.aurora__item的元素,代码如下。

  <h1 class="title">CSS文本渐变特效
    <div class="aurora">
      <div class="aurora__item"></div>
      <div class="aurora__item"></div>
      <div class="aurora__item"></div>
      <div class="aurora__item"></div>
    </div>
  </h1>

CSS部分的内容首先是变量部分,为了后期更好的调整相关参数和值的复用我们定义一部分变量可供后续轻松自定义特效:

:root {
    --bg: #000000;
    --clr-1: #00c2ff;
    --clr-2: #33ff8c;
    --clr-3: #ffc640;
    --clr-4: #e54cff;

    --blur: 1rem;
    --fs: clamp(3rem, 8vw, 7rem);
    --ls: clamp(-1.75px, -0.25vw, -3.5px);
}

这些变量定义了背景颜色--bg和四种不同的颜色--clr-1--clr-2--clr-3--clr-4用于极光特效。其他变量控制模糊程度--blur、字体大小--fs和字间距--ls

.title设置了标题的字体大小、字体粗细和字间距。它还设置了背景颜色,并创建了一个相对定位的上下文,用于后续的极光特效。

.title {
    font-size: var(--fs);
    font-weight: 800;
    letter-spacing: var(--ls);
    position: relative;
    overflow: hidden;
    background: var(--bg);
    margin: 0;
    color: #fff;
}

.aurora元素在.title元素内部绝对定位,并覆盖了整个区域。它设置了较高的z-index,以确保它显示在文本上方。mix-blend-mode: darken(选择两个颜色中较暗的部分作为混合结果)属性用于将极光特效的颜色与背景混合。

.aurora {
    position: absolute;
    z-index: 2;
    mix-blend-mode: darken;
}

aurora__item表示极光特效的每个单独形状。它在aurora元素内部绝对定位,并具有60vw(视口宽度的60%)的宽度和高度。每个形状具有不同的背景颜色和边框半径,创建了独特的形状。filter: blur()属性为每个形状添加了模糊效果:

.aurora__item {
    overflow: hidden;
    position: absolute;
    width: 60vw;
    height: 60vw;
    background-color: var(--clr-1);
    border-radius: 37% 29% 27% 27% / 28% 25% 41% 37%;
    filter: blur(var(--blur));
}

此时的效果如下,因为.aurora设置了较高的z-index,所以文本被遮挡下颜色块的下方。

此时再增加混合模式mix-blend-mode: overlay(通过叠加元素和其父元素或其他元素的颜色,产生一种混合效果)将形状与背景混合。因为父级设置mix-blend-mode: darken(选择两个颜色中较暗的部分作为混合结果),且.title的字体颜色设置#fff白色,所以较暗的部分就是我们的aurora__item元素,此时的效果如下:

动画实现

基于以上的效果进一步增加动画的效果,让这个字体的渐变效果更加有冲击感,使用CSS关键帧创建了极光特效。创建了四个关键帧动画(aurora-1、aurora-2、aurora-3、aurora-4)定义了每个形状的移动分别对应每个aurora__item

.aurora__item:nth-of-type(1) {
    top: -50%;
    animation: aurora-1 12s ease-in-out infinite alternate;
}

每个关键帧动画使用百分比值指定形状的初始和最终位置。例如aurora-1将形状从右上角移动到左上角,然后返回。其他关键帧动画为其他形状定义了类似的移动效果。

@keyframes aurora-1 {
    0% {
        top: 0;
        right: 0;
    }

    50% {
        top: 100%;
        right: 75%;
    }

    75% {
        top: 100%;
        right: 25%;
    }

    100% {
        top: 0;
        right: 0;
    }
}

基于移动的动画再增加一个元素边框半径变化的动画,创建aurora-border关键帧动画随时间改变了每个形状的边框半径,创建了动态效果。边框半径值在不同的百分比上定义,使不同的元素之间的动画平滑过渡。

@keyframes aurora-border {
    0% {
        border-radius: 37% 29% 27% 27% / 28% 25% 41% 37%;
    }

    25% {
        border-radius: 47% 29% 39% 49% / 61% 19% 66% 26%;
    }

    50% {
        border-radius: 57% 23% 47% 72% / 63% 17% 66% 33%;
    }

    75% {
        border-radius: 28% 49% 29% 100% / 93% 20% 64% 25%;
    }

    100% {
        border-radius: 37% 29% 27% 27% / 28% 25% 41% 37%;
    }
}

此时就完成了整个文本渐变的动画效果,最后的效果图如下所示:

在线预览

码上掘金地址:
https://code.juejin.cn/pen/7302441283744694312

最后

本文解析了通过纯 CSS 实现了一个如同冰岛的极光一般炫酷的文本渐变效果。通过定位和多个具有不同颜色和边框半径值形状的动画,结合mix-blend-mode混合模式实现了这个特效,并定义了CSS变量可以轻松自定义特效。

只需要修改CSS变量部分就可以自定义不同的文本渐变效果,有兴趣的朋友可以尝试看看~


看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)

参考

原文动画参考 the beautiful aurora:https://codepen.io/ostylowany/pen/vYzPVZL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1229681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适合上班族考的证书 - PMP证书

PMP证书是一种专业的项目管理证书&#xff0c;适合上班族考取。随着社会的发展和竞争的加剧&#xff0c;越来越多的企业开始注重项目管理能力的培养和提升。而PMP证书正是国际上公认的项目管理领域的权威认证&#xff0c;具有很高的知名度和影响力。 首先&#xff0c;PMP证书对…

成都优优聚美团代运营:塑造卓越优势,引领电商新时代

在当今这个数字化时代&#xff0c;美团作为中国最大的本地生活服务平台之一&#xff0c;正在为消费者和商家搭建一个无缝链接的桥梁。而在成都&#xff0c;有一家名为优优聚美团代运营的公司&#xff0c;他们凭借着专业的技能和高效的服务&#xff0c;成为了美团平台上的佼佼者…

越南MIC新规针对ICT和ITE产品电气授权标准变更

从2024年1月1日起&#xff0c;所有ICT和ITE产品(如台式电脑、笔记本电脑、平板电脑、DVB-T2电视/机顶盒、DECT电话等)都需要越南MIC授权的电气安全标准——QCVN132:2022。 目前MIC仍未最终确定要求&#xff0c;因为这与另一个监管机构存在冲突。所以目前他们可以接受ISO 17025的…

同创永益联合红帽打造一站式数字韧性解决方案

随着AI技术的快速兴起&#xff0c;IT技术已成为推动业务持续增长的重要驱动力&#xff0c;这要求企业不断尝试新事物&#xff0c;改变固有流程&#xff0c;加强IT技术与业务的合作&#xff0c;同时提升数字韧性能力&#xff0c;以实现业务目标。10月26日&#xff0c;红帽2023中…

UEC++ day6

简易战斗系统 删除替换父类组件 现在需要添加剑的组件&#xff0c;但是一般来说附着到蒙皮骨骼的东西&#xff0c;也是蒙皮骨骼&#xff0c;所以我们可以新建一个类重新编写&#xff0c;也可以直接继承Interoperable类然后不管UStaticMeshComponent这个组件&#xff0c;新建U…

HarmonyOS开发(四):应用程序入口UIAbility

1、UIAbility概述 UIAbility 一种包含用户界面的应用组件用于与用户进行交互系统调度的单元为应用提供窗口在其中绘制界同 注&#xff1a;每一个UIAbility实例&#xff0c;都对应一个最近任务列表中的任务。 一个应用可以有一个UIAbility也可以有多个UIAbility。 如一般的…

微服务学习|Nacos配置管理:统一配置管理、配置热更新、配置共享、搭建Nacos集群

统一配置管理 在微服务当中&#xff0c;提供一个配置中心来将一些配置提取出来&#xff0c;进行统一的使用&#xff0c;Nacos既可以充当注册中心&#xff0c;也提供配置中心的功能。 1.在Nacos中添加配置文件 在Nacos控制台&#xff0c;我们可以在配置管理中&#xff0c;添加…

golang学习笔记——使用结构

使用结构 有时&#xff0c;你需要在一个结构中表示字段的集合。 例如&#xff0c;要编写工资核算程序时&#xff0c;需要使用员工数据结构。 在 Go 中&#xff0c;可使用结构将可能构成记录的不同字段组合在一起。 Go 中的结构也是一种数据结构&#xff0c;它可包含零个或多个…

盛元广通开放实训室管理系统2.0

开放实训室管理系统是一种基于网络和数据库的实训室信息管理系统&#xff0c;旨在提高实训室的管理水平&#xff0c;实现实训资源的优化配置和高效利用。该系统通常包括用户管理、设备管理、课程管理、考核管理等功能模块&#xff0c;能够实现实训室的预约、设备借用、课程安排…

一周互联网简讯 | 本周互联网发生了啥?(第3期)

1.百度T7跳槽字节3-1&#xff0c;总包145万&#xff0c;压力太大想降级 硕士毕业工作10年&#xff0c;一百度T7大头兵发文称&#xff0c;自己最近拿到字节3-1的offer&#xff0c;年包从现有的110万涨30%到145万。但是担心去字节后因为定的职级高需要带人&#xff0c;压力会很大…

2023年11月界面制作软件合集,新手也能学会!

在今天的互联网时代&#xff0c;有各种界面制作软件可供选择。这些软件可以帮助新手和专业人士创建精美且高效的界面设计。从最基础的拖拽操作到复杂的编程接口&#xff0c;不同的软件提供了一系列的功能和特性&#xff0c;满足了各种需求。我们将在本文中探讨8大神器&#xff…

『亚马逊云科技产品测评』活动征文|构建生态农场家禽系统

『亚马逊云科技产品测评』活动征文&#xff5c;构建生态农场家禽系统 授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 前…

德思特分享丨一文带你了解ADC测试参数有哪些?

来源&#xff1a;德思特测量测试 德思特分享丨一文带你了解ADC测试参数有哪些&#xff1f; 一文带你了解ADC测试参数有哪些 模数转换器&#xff08;ADC&#xff09;是数字电子系统中重要组成部分&#xff0c;用于捕获外部世界的模拟信号&#xff0c;如声音、图像、温度、压力…

SIMULIA|Abaqus 2022x新功能介绍第三弹

Abaqus 线性分析的功能增强 模态分析中增加connector单元的输出 模态线性动力学分析中增加下列Connector单元的输出&#xff0c;无需指定* connector MOTION即可实现&#xff1a;AXIAL&#xff0c;BUSHING&#xff0c;CARDAN&#xff0c;CARTESIAN和ROTATION。 而且改进了CT…

高防CDN有什么作用?

分布式拒绝服务攻击&#xff08;DDoS攻击&#xff09;是一种针对目标系统的恶意网络攻击行为&#xff0c;DDoS攻击经常会导致被攻击者的业务无法正常访问&#xff0c;也就是所谓的拒绝服务。 常见的DDoS攻击包括以下几类&#xff1a; 网络层攻击&#xff1a;比较典型的攻击类…

python中,axis=0,axis=1,axis=2的理解【对于按待定轴求和,axis=‘x’的理解】

一、axis 1.假设我们有一个5行4列的矩阵&#xff0c;见下图所示。 这个矩阵的shape&#xff1a;[5][4],维度是2&#xff0c;axis&#xff1a;0,1&#xff0c;按照行&#xff0c;轴为0&#xff0c;按照列轴为1。 当我们按照axis0&#xff0c;求sum时&#xff1a;我们得到的shap…

网站被攻击怎么办?

网站被大流量攻击会造成服务器资源耗尽&#xff0c;一直到宕机崩溃&#xff0c;网站无法访问甚至被机房停用&#xff0c;时间长就导致网站排名下降&#xff0c;所以必需及时处理。下面跟大家分享服务器被大流量攻击怎么办&#xff1f;服务器攻击防护如何做&#xff1f; 一、服…

win10无损升级到win11

win10无损升级到win11&#xff0c;保留文件和程序。下面就是升级方法。 1&#xff0c;下载win11升级助手 https://download.microsoft.com/download/5/4/c/54c22b82-d0cd-4e34-9a06-b75823a8aede/Windows11InstallationAssistant.exe 2&#xff0c;启动助手开始安装 安装时需…

dgl的cuda版本安装+对应torch的cuda版本安装

优秀教程 1、pytorch 1.8.1 CUDA11.1 对应的DGL版本是0.6.1&#xff08;linux、windows也适用&#xff09; 2、CUDApytorchDGL安装 3、安装dgl-cuda 4、torch 安装备忘录 dgl文件下载 https://anaconda.org/dglteam/repo可以将下面网址中的cu111改成你想要的版本&#xff0…

Zookeeper中的Watch机制的原理?

前言 Zookeeper是一个分布式协调组件&#xff0c;为分布式架构下的多个应用组件提供了顺序访问控制能力。它的数据存储采用了类似于文件系统的树形结构&#xff0c;以节点的方式来管理存储在Zookeeper上的数据 Zookeeper提供了一个Watch机制&#xff0c;可以让客户端感知到Zook…