如何做一个透明度渐现且向上位移逐行出现的文字效果

前言

在这个夜黑风高的夜晚,你的眼睛已经开始有些疲惫。你的手指在键盘上轻轻地敲击着,仿佛在弹奏一首无声的夜曲。你的思绪在代码的海洋中飘荡,寻找着最后一行需要完成的代码。就在这时,你的老板走了过来,他的脸上带着一丝期待也带着一丝压榨廉价劳动力的理所当然。

他说:“我需要你给我们产品首页的标题做一个动画。但是,我希望这个动画能够突出标题的内容,而不是动画本身。我不希望动画太过炫酷,以免分散用户的注意力。”你虽然心生不满,但又不得不做,毕竟老板最近行情不好。既来之,则安之,心想着等行情好了,马上就跑。随后心中开始构思这个动画的设计。

你知道,这个动画需要足够简洁,但又不能太过平淡。它需要有一定的动态效果,但又不能太过夸张。它需要能够吸引用户的注意力,但又不能让用户忽视了标题的内容。你开始在脑海中浮现出一些想法。你想到了透明度渐现的效果,这种效果可以让标题文本像是从黑暗中浮现出来,既有动态感,又不会过于炫酷。你还想到了向上位移的效果,这种效果可以让标题文本像是从页面底部升起,增加了视觉的动态感,但又不会过于夸张。你开始在代码编辑器中敲击键盘,将这些想法转化为代码。你知道,这个夜晚还会很长,但你也知道,当这个动画完成时,你会感到无比的满足和成就感。因为你知道,你正在创造一种新的用户体验,你正在为用户带来一种新的感受。

效果

在我们深入讨论之前,让我们先看一下我们将要实现的效果,下次你想要加工资的时候记得写这个🎉
请添加图片描述

思路

这个动画效果的关键在于缓动曲线 animation-timing-function 这个属性,也就是缓动曲线。该属性定义了动画的速度变化。在这里使用了贝塞尔函数 cubic-bezier 来更精确地控制文本动画的运动节奏。

animation-timing-function属性有如下几个浏览器预设的值:

  • linear:匀速运动
  • ease-in :加速运动
  • ease-out:减速运动
  • ease:先加速后减速
  • cubic-bezier(x1,y1,x2,y2):贝塞尔函数

关于cubic-bezier可以在cubic-bezier这个网站中进行可视化自定义的调试效果。

代码

    <div class="container"><h1 class="text">这里是第一行文字</h1><h2 class="text">这里是第二行文字</h2><h3 class="text">这里是第三行文字</h3></div><style>.container {text-align: center;}.text {animation-name: textAniKey;animation-duration: 1.5s;animation-timing-function: cubic-bezier(0, 0, 0.5, 1);animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;}@keyframes textAniKey {0% {transform: translateY(2vw);opacity: 0;}100% {transform: translateY(0vw);opacity: 1;}}</style>

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

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

相关文章

MySQL高级----InnoDB引擎

逻辑存储结构 表空间 表空间(ibd文件)&#xff0c;一个mysql实例可以对应多个表空间&#xff0c;用于存储记录、索引等数据。 段 段&#xff0c;分为数据段&#xff08;Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment)&#xff0c;InnoDB是…

GNU/Linux - Kconfig Language - 2

Kconfig syntax 配置文件描述了一系列菜单条目&#xff0c;每一行都以一个关键字开头&#xff08;帮助文本除外&#xff09;。以下关键字可结束一个菜单条目&#xff1a; The configuration file describes a series of menu entries, where every line starts with a keyword…

java 如何获取一个空的DATE对象

一&#xff1a;概述 在 Java 中&#xff0c;获取一个空的 Date 对象有多种方法。本文将介绍几种常用方法&#xff0c;并提供实际案例。 二&#xff1a;具体说明 <1>使用构造函数 Java 的 Date 类有多个构造函数&#xff0c;其中有一个无参构造函数&#xff0c;可以用于创…

ubuntu优化

rootlocalhost:~# grep -E "^(PermitRootLogin|GSSAPIAuthentication|UseDNS)" /etc/ssh/sshd_config PermitRootLogin yes GSSAPIAuthentication no UseDNS norootlocalhost:~# systemctl restart sshd#此时就可以设置root密码了rootlocalhost:~# passwd New passw…

基于深度学习的频谱分析

基于深度学习的频谱分析是一种利用深度学习算法处理和分析频谱数据的技术。频谱分析广泛应用于通信、雷达、医学成像、音频处理和地震波分析等领域。以下是关于这一领域的系统介绍&#xff1a; 1. 任务和目标 频谱分析的主要任务是从频谱数据中提取有用信息&#xff0c;具体目…

Http网络通信流程

目录 DNS域名解析 建立TCP连接 发送HTTP请求 服务器处理请求 发送HTTP响应 浏览器接收并解析响应 关闭TCP连接 DNS域名解析 步骤描述:浏览器根据用户输入的URL进行DNS域名解析,将域名转换为相应的IP地址。这是HTTP通信流程中的第一步,确保浏览器能够找到正确的Web服…

文本到图像的革新:自动化Prompt优化的UF-FGTG框架

在文本到图像合成领域&#xff0c;已经能够由文本描述直接生成图像。然而&#xff0c;尽管这一技术带来了无限的可能性&#xff0c;它仍然面临着一个关键挑战&#xff1a;如何设计出能够引导模型生成高质量图像的提示&#xff08;prompts&#xff09;。尤其是对于初学者而言&am…

面试数据岗必知必会——元数据与开窗函数

1. 元数据 元数据&#xff08;Metadata&#xff09;是指用来描述其他数据的数据&#xff0c;即“data about data”。它是关于数据的组织、数据域及其关系的信息&#xff0c;旨在提供对数据的理解和管理所需的关键背景和上下文。元数据可以帮助人们了解数据的来源、创建时间、…

【ROS中Cjson文件的作用】

在ROS (Robot Operating System) 中&#xff0c;.json 文件通常用于存储配置信息、数据序列化或者在某些情况下用于网络通信和数据交换。JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于…

数字身份管理发展趋势:​​​​​​扩展身份安全能力

身份作为企业各个应用的入口&#xff0c;大量存在于企业的内部业务和外部业务中&#xff0c;身份作为最核心数据对于企业的重要性不言而喻&#xff0c;因此也往往成为攻击者的攻击目标&#xff0c;从2023年国资国企受攻击的情况也不难看出&#xff0c;针对身份的攻击累计超过37…

【代码随想录_Day27】509 斐波那契数 70 爬楼梯 746 使用最小花费爬楼梯

Day27 OK&#xff0c;今日份的打卡&#xff01;第二十七天 以下是今日份的总结斐波那契数爬楼梯使用最小花费爬楼梯 以下是今日份的总结 509 斐波那契数 70 爬楼梯 746 使用最小花费爬楼梯 今天的题目难度不高&#xff0c;掌握技巧了就会很简单&#xff0c;尽量还是写一些简洁…

白嫖A100活动来啦,书生·浦语大模型全链路开源体系

扫码参加即可获得&#xff1a; 第一节 书生浦语大模型全链路开源体系 书生浦语大模型的开源历程。 从模型到应用的典型流程 书生浦语的开源体系&#xff0c;包含从数据、预训练、微调、部署、评测、应用等环节

CC4利用链分析

我的Github主页Java反序列化学习同步更新&#xff0c;有简单的利用链图 分析版本 Commons Collections 4.0 JDK 8u65 环境配置参考JAVA安全初探(三):CC1链全分析 分析过程 在Commons Collections 4.0中&#xff0c;TransformingComparator类变为可序列化类&#xff0c;增…

Java学习高级二

Java是单继承的 Object类 方法重写 Java子类访问 – 就近原则 子类构造器的特点 多态 Java–final

机器学习之模型训练

前言 模型训练一般分为四个步骤&#xff1a; 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 有了数据集和模型后&#xff0c;可以进行模型的训练与评估。 构建数据集 定义神经网络模型 class Network(nn.Cell):def __init__(sel…

WPF更新UI线程实现进度条功能

WPF更新UI线程实现进度条功能 我的写法 <Page x:Class"CableInspectionScreen.ConfigPage"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http:/…

AtCoder Beginner Contest 360

A - A Healthy Breakfast 枚举一下&#xff0c;只要R在M之前就行了 #include <iostream>using namespace std;int main() {char a,b,c;cin >> a >> b >> c;if((a R && (b M || c M)) || (b R && c M)){cout << "Yes…

OpenSNN推文:个人博客站点文章汇总:大模索型时代,ESM-AA,Victoria Metrics

产学研专家共论道&#xff01;探大模索型时代数据要素流通突围之道&#xff0c;「隐语城市行开源两周年特别活动」报名开启 2024年7月3日 segmentfault思否 简介&#xff1a;随着 “数据二十条”等引导或规范数据要素流通的政策文件落地&#xff0c;包含隐私计算、AI 大模型…

论文阅读:A Survey on Evaluation of Large Language Models

A Survey on Evaluation of Large Language Models 这篇论文是由Yupeng Chang等人撰写的关于大型语言模型&#xff08;LLMs&#xff09;评估的综述&#xff0c;题为《A Survey on Evaluation of Large Language Models》。 摘要 大型语言模型&#xff08;LLMs&#xff09;在…

【trition-server】运行一个pytorch的ngc镜像

ngc 提供了pytorch容器 号称是做了gpu加速的 我装的系统版本是3.8的python,但是pytorch似乎是用conda安装的3.5的: torch的python库是ls支持gpu加速是真的 英伟达的pytorch的说明书 root@a79bc3874b9d:/opt/pytorch# cat NVREADME.md PyTorch ======= PyTorch is a python …