当前位置: 首页 > news >正文

成都工业学院Web技术基础(WEB)实验五:CSS3动画制作

写在前面

1、基于2022级计算机大类实验指导书

2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样

3、图片和文字仅为示例,需要自行替换

4、如果代码不满足你的要求,请寻求其他的途径

运行环境

window11家庭版

WebStorm 2023.2.2

实验要求、源代码和运行结果

1、编写代码实现图5-1所示变换效果,要求:

① 原始效果效果如图5-1a所示,在一个div中包裹3个子div,每个子div包裹一个图像,所有图像居中排列,父div得宽度为1000px、高度为180px、有边框阴影(阴影尺寸5px、模糊距离15px、颜色#F4E4D4)。每个子div得宽度为300px、高度为180px、过渡时间为3秒。

② 鼠标移动到子div1元素时,div元素X轴方向移动665px、Y轴方向移动200px,效果如5-2b所示。

③ 鼠标移动到子div2元素时,扭曲210°、在所有属性上过渡3秒,效果如5-2b所示。

④ 鼠标移动到子div3元素时,在Y轴上旋转50°、在所有属性上过渡3秒,效果如5-2b所示。

图5-1a 未变换前的图形展示示意图

图5-1b 子div1变换后的图形展示示意图

图5-1c 子div2变换后的图形展示示意图

图5-1d 子div3变换后的图形展示示意图

提示:

1.box-shadow语法格式:

box-shadow:水平阴影 垂直阴影 模糊距离(虚实)  阴影尺寸(影子大小)  阴影颜色  内/外阴影;

2.CSS transform属性的方法:

translate():从其当前位置移动元素(根据为 X 轴和 Y 轴指定的参数)。

rotate(n deg):旋转N度。

  skew(x deg,y deg)是将元素沿X轴和Y轴方向同时倾斜给定的角度.

3.过度属性语法格式

transition: 属性名称 过渡时间 速度曲线 延迟时间;

Experiment5_1.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" href="Experiment5_1.css"><title></title>
</head>
<body>
<div class="parent-div"><div class="child-div"><img src="../1.jpg"></div><div class="child-div"><img src="../2.jpg"></div><div class="child-div"><img src="../3.jpg"></div>
</div>
</body>
</html>

Experiment5_1.css

.parent-div {width: 1000px;height: 180px;border: 1px solid #F4E4D4;box-shadow: 0 0 15px 5px #F4E4D4;display: flex;justify-content: space-around;align-items: center;
}.child-div {width: 300px;height: 180px;transition: all 3s;overflow: hidden;
}.child-div:hover:nth-child(1) {transform: translate(665px, 200px);
}.child-div:hover:nth-child(2) {transform: rotate(210deg);
}.child-div:hover:nth-child(3) {transform: rotateY(50deg);
}

原始效果

鼠标移动到子div1元素时

鼠标移动到子div2元素时

鼠标移动到子div3元素时

2、编写代码实现图5-2所示心跳效果,要求:

① 打开网页文档,心形闪烁,实现心跳效果。

② 图片宽度为200px,高度为自动。

③ 采用animation实现动画效果,动画完成时间为0.5s。

④ tansform:scale()实现图形伸缩,比例为1.1倍。

图5-2 心跳效果

提示:

1)animation语法格式:

animation:动画名称 花费时间 运动曲线  何时开始  播放次数  是否反方向;

2)animation设置为三种状态:0%  50% 100%,并设置为无限次循环。

Experiment5_2.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" href="Experiment5_2.css"><title></title>
</head>
<body><img src="../6.jpg" class="heart"><img src="../6.jpg" height="200px" width="200px">
</body>
</html>

Experiment5_2.css

@keyframes heartbeat {0%, 100% {transform: scale(1);}50% {transform: scale(1.1);}
}body {display: flex;align-items: center;justify-content: center;height: 100vh;margin: 0;
}.heart {width: 200px;height: auto;animation: heartbeat 0.5s ease-in-out infinite;
}

http://www.lryc.cn/news/259202.html

相关文章:

  • 【Docker】学习笔记(三)三剑客之 docker-compose文件书写项目多服务容器运行
  • node.js基础
  • fastapi实现websocket在线聊天
  • LLM推理部署(六):TogetherAI推出世界上LLM最快推理引擎,性能超过vLLM和TGI三倍
  • Unity | 渡鸦避难所-2 | 搭建场景并添加碰撞器
  • 展望2024年供应链安全
  • React 列表页实现
  • 【程序人生】还记得当初自己为什么选择计算机?
  • 9-tornado-Template优化方法、个人信息案例、tornado中ORM的使用(peewee的使用、peewee_async)、WTForms的使用
  • IDEA中.java .class .jar的含义与联系
  • 北斗三号短报文森林消防应急通信及天通野外图传综合方案
  • js Array.every()的使用
  • 前端编码中快速填充内容--乱数假文
  • 数据结构二维数组计算题,以行为主?以列为主?
  • springboot(ssm电影院订票信息管理系统 影院购票系统Java系统
  • AI 问答-供应链管理-相关概念:SCM、SRM、MDM、DMS、ERP、OBS、CRM、WMS...
  • 初学vue3与ts:vue3选项式api获取当前路由地址
  • 2023最新大模型实验室解决方案
  • leetcode707.设计链表
  • 【K8s】Kubernetes CRD 介绍(控制器)
  • Python 小程序之PDF文档加解密
  • 使用python脚本一个简单的搭建ansible集群
  • 【价值几十万的仿抖音直播电商系统源码共享】
  • 对于vue3项目中使用shareReward还是shareReward.value的问题
  • 利用websockify将websocket通信转换成tcp
  • 【LeetCode刷题】-- 163.缺失的区间
  • ClickHouse为何如此之快
  • Avalonia中如何将View事件映射到ViewModel层
  • (第42天)DataGuard 搭建之使用 Duplicate 复制
  • LeetCode 0070. 爬楼梯:动态规划(递推)