前端小练习:案例5.律动爱心

目录

一.效果预览图

 二.实现思路 ​编辑

1.html部分

2.css部分 

三.完整代码 


一.效果预览图

 二.实现思路 

想要实现爱心律动效果并不难,核心点是关键帧动画。 定义律动爱心需要的元素块,使用定位或者弹性布局等方法(定位元素不适合布局,建议用弹性布局),使9个块元素在一行,给每个块元素定义关键帧动画@keyframes(关键帧动画关键字) 改变其长度,使用animation:love2 5s 1.4s infinite;定义关键字动画的速度,动画执行次数infinite(一直执行),你也可以设置动画的运动函数使其达到理想的动态效果。

1.html部分

 用无序列表构建10个块元素(ul 1 ,li 9),li从1-9分别对应律动爱心的发生变化的9个元素

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="css/002.css">
</head>
<body><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul>
</body>
</html>

2.css部分 

css样式,改变背景颜色,使用弹性布局使其居中,定义关键帧动画。

*{padding: 0;margin: 0;
}
body{display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #000;
}
ul{position:relative;display: flex;height: 200px;
}
ul::after{content: '爱心怦怦跳';position: absolute;top: 100px;left: 50%;color: darkturquoise;font-size: 30px;font-weight: 700px;transform: translate(-50%,-700%);
}
li{width: 20px;height: 20px;border-radius: 10px;margin: 0 10px;
}
li:nth-child(1){background-color: red;animation:love1 5s 0s infinite;
}
li:nth-child(2){background-color: darkturquoise;animation:love2 5s 0.2s infinite;
}
li:nth-child(3){background-color: darksalmon;animation:love3 5s 0.4s infinite;
}
li:nth-child(4){background-color: deeppink;animation:love4 5s 0.6s infinite;
}
li:nth-child(5){background-color: yellow;animation:love5 5s 0.8s infinite;
}
li:nth-child(6){background-color: deeppink;animation:love4 5s 1s infinite;
}
li:nth-child(7){background-color: darksalmon;animation:love3 5s 1.2s infinite;
}
li:nth-child(8){background-color: darkturquoise;animation:love2 5s 1.4s infinite;
}
li:nth-child(9){background-color: red;animation:love1 5s 1.6s infinite;
}
/*定义动画*/
@keyframes love1 {30%,50%{height: 60px;transform: translateY(-30px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love2{30%,50%{height: 125px;transform: translateY(-60px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love3 {30%,50%{height: 160px;transform: translateY(-75px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love4 {30%,50%{height: 180px;transform: translateY(-60px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love5 {30%,50%{height: 200px;transform: translateY(-45px);}70%,100%{height: 20px;transform: translateY(0px);}
}

三.完整代码 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style> *{padding: 0;margin: 0;}
body{display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #000;
}
ul{position:relative;display: flex;height: 200px;
}
ul::after{content: '爱心怦怦跳';position: absolute;top: 100px;left: 50%;color: darkturquoise;font-size: 30px;font-weight: 700px;transform: translate(-50%,-700%);
}
li{width: 20px;height: 20px;border-radius: 10px;margin: 0 10px;
}
li:nth-child(1){background-color: red;animation:love1 5s 0s infinite;
}
li:nth-child(2){background-color: darkturquoise;animation:love2 5s 0.2s infinite;
}
li:nth-child(3){background-color: darksalmon;animation:love3 5s 0.4s infinite;
}
li:nth-child(4){background-color: deeppink;animation:love4 5s 0.6s infinite;
}
li:nth-child(5){background-color: yellow;animation:love5 5s 0.8s infinite;
}
li:nth-child(6){background-color: deeppink;animation:love4 5s 1s infinite;
}
li:nth-child(7){background-color: darksalmon;animation:love3 5s 1.2s infinite;
}
li:nth-child(8){background-color: darkturquoise;animation:love2 5s 1.4s infinite;
}
li:nth-child(9){background-color: red;animation:love1 5s 1.6s infinite;
}
/*定义动画*/
@keyframes love1 {30%,50%{height: 60px;transform: translateY(-30px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love2{30%,50%{height: 125px;transform: translateY(-60px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love3 {30%,50%{height: 160px;transform: translateY(-75px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love4 {30%,50%{height: 180px;transform: translateY(-60px);}70%,100%{height: 20px;transform: translateY(0px);}
}
@keyframes love5 {30%,50%{height: 200px;transform: translateY(-45px);}70%,100%{height: 20px;transform: translateY(0px);}
}</style>
</head>
<body><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul>
</body>
</html>

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

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

相关文章

Android应用开发(6)TextView进阶用法

Android应用开发学习笔记——目录索引 本章介绍文本视图&#xff08;TextView&#xff09;的显示&#xff0c;包括&#xff1a;设置文本内容、设置文本大小、设置文本显示颜色。 一、设置TextView显示内容 Layout XML文件中设置 如&#xff1a;res/layout/activity_main.xm…

【Matter】基于Ubuntu 22.04 交叉编译chip-tool

编译工程之际&#xff0c;记录一下编译过程&#xff0c;免得后续遗忘&#xff0c;总结下来chip-tool 交叉编译涉及到的知识点&#xff1a; 需要了解如何支持交叉编译&#xff0c;基于GN编译框架需要理解应用库如何交叉编译&#xff0c;理解pkg-config的使用meson 编译&#xf…

“我,在腾讯月薪5万,离职后才明白:人越努力,只会越平庸”

那天看瑞达利欧说&#xff0c;他今年已经60岁了&#xff0c;可以说是阅人无数&#xff0c;但没有一个成功人士天赋异禀。 真的如他所说吗&#xff1f; 那张一鸣呢&#xff1f; 字节做到这么大&#xff0c;赚了这么多钱&#xff0c;不靠天赋&#xff0c;靠的是什么&#xff1…

C++笔记之从数组指针到函数数组指针(使用using name和std::function)

C笔记之从数组指针到函数数组指针(使用using name和std::function) 参考笔记&#xff1a; C之指针探究(三)&#xff1a;指针数组和数组指针 C之指针探究(十三)&#xff1a;函数指针数组 C之指针探究(二)&#xff1a;一级指针和一维数组 C之指针探究(十一)&#xff1a;函数名的…

IP路由基础+OSPF 基础

IP路由 RIB与FIB RIB&#xff1a;Routing Information Base&#xff0c;路由信息库 &#xff0c;路由器的控制平面 FIB&#xff1a;Forwarding Information Base&#xff0c;转发信息库&#xff0c;路由器的数据平面 路由信息库主要是记录直连路由以及协议宣告的路由信息&am…

【vue】vue基础知识

1、插值表达式&属性绑定 <!--template展示给用户&#xff0c;相当于MVVM模式中的V--> <template><div class"first_div">//插值表达式<p>{{ message }}</p>//这里的参数是从父组件的template里传过来的<p>{{data_1}}</p…

【转】金融行业JR/T0197-2020《金融数据安全 数据安全分级指南》解读

原文链接&#xff1a;金融行业JR/T0197-2020《金融数据安全 数据安全分级指南》解读 《金融数据安全 数据安全分级指南》 解 读 随着IT技术的发展&#xff0c;银行的基础业务、核心流程等众多事务和活动都运营在信息化基础之上&#xff0c;金融机构运行过程中产生了大量的数字…

【JavaEE进阶】Spring核心与设计思想

文章目录 一. Spring框架概述1. 什么是Spring框架2. 为什么要学习框架?3. Spring框架学习的难点 二. Spring 核心与设计思想1. 什么是容器?2. 什么是IoC?3. Spring是IoC容器4. DI&#xff08;依赖注入&#xff09;5. DL&#xff08;依赖查找&#xff09; 一. Spring框架概述…

栈和队列的实现以及OJ题讲解

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大家三连关注&…

【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

回归预测 | MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现POA-CNN…

Michael.W基于Foundry精读Openzeppelin第20期——EnumerableMap.sol

0. 版本 [openzeppelin]&#xff1a;v4.8.3&#xff0c;[forge-std]&#xff1a;v1.5.6 0.1 EnumerableMap.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/structs/EnumerableMap.sol EnumerableMap库提供了Bytes32ToB…

快速远程桌面控制公司电脑远程办公

文章目录 第一步第二步第三步 远程办公的概念很早就被提出来&#xff0c;但似乎并没有多少项目普及落实到实际应用层面&#xff0c;至少在前几年&#xff0c;远程办公距离我们仍然很遥远。但2019年末突如其来的疫情&#xff0c;着实打了大家一个措手不及。尽管国内最初的大面积…

新魔百和M301H_关于CW代工_JL(南传)代工_zn及sm代工区分及鸿蒙架构全网通卡刷包刷机教程

新魔百盒M301H_关于CW代工_JL(南传)代工_zn及sm代工区分及鸿蒙架构全网通卡刷包刷机教程 下载固件之前我们先区分下代工&#xff1a; 如盒子背面型号标签上带有ZN则视为兆能代工&#xff0c;如有CW或BYT则视为创维代工&#xff1b; 如有JL或南传则视为九联代工&#xff0c;ys…

机器学习---概述(一)

文章目录 1.人工智能、机器学习、深度学习2.机器学习的工作流程2.1 获取数据集2.2 数据基本处理2.3 特征工程2.3.1 特征提取2.3.2 特征预处理2.3.3 特征降维 2.4 机器学习2.5 模型评估 3.机器学习的算法分类3.1 监督学习3.1.1 回归问题3.1.2 分类问题 3.2 无监督学习3.3 半监督…

网络安全防火墙体验实验

网络拓扑 实验操作&#xff1a; 1、cloud配置 2、防火墙配置 [USG6000V1]int GigabitEthernet 0/0/0 [USG6000V1-GigabitEthernet0/0/0]ip add 192.168.200.100 24 打开防火墙的所有服务 [USG6000V1-GigabitEthernet0/0/0]service-manage all permit 3、进入图形化界面配置…

阿里云容器服务助力极氪荣获 FinOps 先锋实践者

作者&#xff1a;海迩 可信云评估是中国信息通信研究院下属的云计算服务和软件的专业评估体系&#xff0c;自 2013 年起历经十年发展&#xff0c;可信云服务评估体系已日臻成熟&#xff0c;成为政府支撑、行业规范、用户选型的重要参考。 2022 年 5 月国务院国资委制定印发《…

【周末闲谈】“深度学习”,人工智能也要学习?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; ✨第二周 畅想AR 文章目录 系列目录前言机器学习深度学习深度学习的三在种方法深度学习讲解…

Godot 4 源码分析 - Path2D与PathFollow2D

学习演示项目dodge_the_creeps&#xff0c;发现里面多了一个Path2D与PathFollow2D 研究GDScript代码发现&#xff0c;它主要用于随机生成Mob var mob_spawn_location get_node(^"MobPath/MobSpawnLocation")mob_spawn_location.progress randi()# Set the mobs dir…

RIP Bram Moolenaar

Grateful for your work on Vim and for the impact Vim has had on the world. Thank you for everything, Bram.