前端笔记-day11

文章目录

    • 01-空间-平移
    • 02-视距
    • 03-空间旋转Z轴
    • 04-空间旋转X轴
    • 05-空间旋转Y轴
    • 06-立体呈现
    • 07-案例-3D导航
    • 08-空间缩放
    • 10-动画实现步骤
    • 11-animation复合属性
    • 12-animation拆分写法
    • 13-案例-走马灯
    • 14-案例-精灵动画
    • 15-多组动画
    • 16-全民出游
      • 全民出游.html
      • index.css

01-空间-平移

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;margin: 100px auto;background-color: pink;transition: all 0.5s;}.box:hover{transform: translate3d(100px,200px,300px);/* 不生效 *//* transform: translate3d(100px,200px); */transform: translateX(100px);transform: translateY(-100%);transform: translateZ(100px);}</style>
</head>
<body><div class="box"></div>
</body>
</html>

02-视距

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 视距属性必须添加给直接父级 *//* 视距取值建议800-1200 */.father{perspective: 1000px;}.son{width: 200px;height: 200px;margin: 100px auto;background-color: pink;transition: all 0.5s;}.son:hover{transform: translateZ(-300px);transform: translateZ(300px);}</style>
</head>
<body><div class="father"><div class="son"></div></div>
</body>
</html>

03-空间旋转Z轴

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;margin: 100px auto;}img{width: 300px;transition: all 2s;}.box img:hover{transform: rotateZ(360deg);}</style>
</head>
<body><div class="box"><img src="./images/hero.jpeg" alt=""></div>
</body>
</html>

在这里插入图片描述

04-空间旋转X轴

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;margin: 100px auto;}img{width: 300px;transition: all 2s;}.box{/* 视觉效果:近大远小,近实远虚 */perspective: 1000px;}.box img:hover{transform: rotateX(60deg);transform: rotateX(-60deg);}</style>
</head>
<body><div class="box"><img src="./images/hero.jpeg" alt=""></div>
</body>
</html>

在这里插入图片描述

05-空间旋转Y轴

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.body{width: 300px;margin: 100px auto;}img{width: 100%;}.body{perspective: 1000px;}.body:hover img{transform: rotateY(60deg);transform: rotateY(-60deg);}</style>
</head>
<body><div class="body"><img src="./images/hero.jpeg" alt=""></div>
</body>
</html>
<!-- 左手法则判断旋转角度的正负 -->

在这里插入图片描述

06-立体呈现

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.cube{/*2子绝父相*/position: relative;width: 200px;height: 200px;margin: 100px auto;/* background-color: pink; */transition: all 1s;/* 1添加此属性可以让父级成为立方体 */transform-style: preserve-3d;/* transform: rotateY(89deg); */}.cube div{position: absolute;top: 0;left: 0;width: 200px;height: 200px;}.front{transform: translateZ(100px);background-color: chocolate;}.back{transform: translateZ(-100px);background-color: blueviolet;}.cube:hover{transform: rotateY(90deg);}</style>
</head>
<body><div class="cube"><div class="front">前面</div><div class="back">后面</div></div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

07-案例-3D导航

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul{margin: 0;padding: 0;list-style: none;}.nav{/* 只有设置了宽高margin才会生效 */width: 300px;height: 40px;margin: 100px auto;}.nav ul{display: flex;}.nav li{/* display: flex; */position: relative;width: 100px;height: 40px;line-height: 40px;text-align: center;transition: all 0.5s;transform-style: preserve-3d;/* transform: rotateX(-20deg) rotateY(30deg); */}.nav li a{display: block;width: 100%;height: 100%;text-decoration: none;color: white;position: absolute;top: 0;left: 0;}.nav li a:first-child{transform: translateZ(20px);background-color: green;}.nav li a:last-child{ transform: rotateX(90deg) translateZ(20px);  background-color: orange;}.nav li:hover{transform: rotateX(-90deg);}</style>
</head>
<body><div class="nav"><ul><li><a href="#">首页</a><a href="#">index</a></li><li><a href="#">首页</a><a href="#">index</a></li><li><a href="#">首页</a><a href="#">index</a></li></ul></div>
</body>
</html>

在这里插入图片描述

08-空间缩放

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul{margin: 0;padding: 0;list-style: none;}.nav{/* 只有设置了宽高margin才会生效 */width: 300px;height: 40px;margin: 100px auto;}.nav ul{display: flex;}.nav li{/* display: flex; */position: relative;width: 100px;height: 40px;line-height: 40px;text-align: center;transition: all 0.5s;transform-style: preserve-3d;/* transform: rotateX(-20deg) rotateY(30deg); */transform: scaleX(0.5);transform: scaleY(2);transform: scaleZ(3);transform: scale3d(0.5,2,3);}.nav li a{display: block;width: 100%;height: 100%;text-decoration: none;color: white;position: absolute;top: 0;left: 0;}.nav li a:first-child{transform: translateZ(20px);background-color: green;}.nav li a:last-child{ transform: rotateX(90deg) translateZ(20px);  background-color: orange;}.nav li:hover{transform: rotateX(-90deg);}</style>
</head>
<body><div class="nav"><ul><li><a href="#">首页</a><a href="#">index</a></li><li><a href="#">首页</a><a href="#">index</a></li><li><a href="#">首页</a><a href="#">index</a></li></ul></div>
</body>
</html>

在这里插入图片描述

10-动画实现步骤

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 100px;background-color: pink;/* 使用动画的语句 */animation: change 1s;}/* 动画一:宽度从200800 *//* @keyframes change{from{width: 200px;}to{width: 800px;}} *//* 动画二:从200*100 变化到300*300  变化到800*500 *//* 百分比表示的是动画时长的百分比 */@keyframes change {0%{width: 200px;height: 100px;}20%{width: 300px;height: 300px;}100%{width: 800px;height: 500px;}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

11-animation复合属性

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 100px;background-color: pink;/* 匀速 */animation: change 1s linear;/* 分布动画,一般用于配合精灵图实现精灵动画 */animation: change 1s steps(3);/* 如果有两个时间,第一个时间是动画时长,第二个是延迟时间 */animation: change 1s 2s;/* 重复次数测试 */animation: change 1s 3;animation: change 1s infinite;/* 动画方向:反向 alternate */animation: change 1s infinite alternate;/* 执行完毕状态   结束状态 开始状态*/animation: change 1s forwards;animation: change 1s backwards;animation: name duration timing-function delay iteration-count direction fill-mode;}@keyframes change {from{width: 200px;}to{width: 800px;}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

12-animation拆分写法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 100px;background-color: pink;/* 动画名称 */animation-name: change;/* 动画时长 */animation-duration: 1s;/* 播放次数 */animation-iteration-count: infinite;}.box:hover{/* 鼠标悬停暂停动画 */animation-play-state: paused;}@keyframes change {from{width: 200px;}to{width: 800px;}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

13-案例-走马灯

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul{padding: 0;margin: 0;list-style: none;}.box{margin: 100px auto;width: 600px;height: 112px;border: 5px solid black;overflow: hidden;}.box ul{display: flex;animation: move 6s linear infinite;}.box img{width: 200px;/* height: ; */}@keyframes move {from{transform: translate(0);}to{transform: translate(-1400px);}  }.box:hover ul{animation-play-state: paused;}</style>
</head>
<body><div class="box"><ul><li><img src="./images/1.jpg" alt=""></li><li><img src="./images/2.jpg" alt=""></li><li><img src="./images/3.jpg" alt=""></li><li><img src="./images/4.jpg" alt=""></li><li><img src="./images/5.jpg" alt=""></li><li><img src="./images/6.jpg" alt=""></li><li><img src="./images/7.jpg" alt=""></li><!-- 让显示区域不露白 复制开头的图片到结尾 --><li><img src="./images/1.jpg" alt=""></li><li><img src="./images/2.jpg" alt=""></li><li><img src="./images/3.jpg" alt=""></li></ul></div>
</body>
</html>

在这里插入图片描述

14-案例-精灵动画

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 140px;height: 140px;border: 1px solid #000;background-image: url(./images/bg.png);animation: run  1s steps(12) infinite;}@keyframes run {from{background-position: 0 0;}to{background-position: -1680px 0;}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

在这里插入图片描述

15-多组动画

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 140px;height: 140px;/* border: 1px solid #000; */background-image: url(./images/bg.png);animation: run 1s steps(12) infinite,move 3s forwards;}/* 当动画开始状态样式跟盒子默认样式相同,可以省略动画开始状态的代码 */@keyframes run {/* from{background-position: 0 0;} */to{background-position: -1680px 0;}   }@keyframes move{/* 0%{transform: translate(0);} */100%{transform: translate(800px);}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

在这里插入图片描述

16-全民出游

全民出游.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./css/index.css">
</head>
<body><div class="cloud"><img src="./images/yun1.png" alt=""><img src="./images/yun2.png" alt=""><img src="./images/yun3.png" alt=""></div><div class="san"><img src="./images/san.png" alt=""></div><div class="shop"><img src="./images/1.png" alt=""><img src="./images/2.png" alt=""><img src="./images/3.png" alt=""><img src="./images/4.png" alt=""></div><div class="text"><img src="./images/font1.png" alt=""></div>
</body>
</html>

index.css

*{padding: 0;margin: 0;
}
html{height: 100%;
}
body{height: 100%;background: url(../images/f1_1.jpg) no-repeat center 0 / cover;
}
.cloud img{position: absolute;left: 50%;
}
.cloud img:nth-child(1){margin-left: -250px;top: 20px;animation: cloud 1s infinite alternate linear;
}
.cloud img:nth-child(2){margin-left: 400px;top: 100px;animation: cloud 1s 0.4s infinite alternate linear;
}
.cloud img:nth-child(3){margin-left: -550px;top: 200px;animation: cloud 1s 0.6s infinite alternate linear;
}
@keyframes cloud {100%{transform: translate(20px);}
}
.san img{position: absolute;left: 50%;margin-left: -400px;top: 150px;animation: san 1s  infinite alternate linear;
}
@keyframes san {100%{transform: translateY(20px);}
}
.shop img{position: absolute;left: 50%;top: 750px;
}
.shop img:nth-child(1){margin-left: -400px;animation: san 1s  infinite alternate linear 0.2s;
}
.shop img:nth-child(2){margin-left: -200px;animation: san 1s  infinite alternate linear 0.4s;
}
.shop img:nth-child(3){margin-left: 0px;animation: san 1s  infinite alternate linear 0.6s;
}
.shop img:nth-child(4){margin-left: 200px;animation: san 1s  infinite alternate linear ;
}.text img{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);animation: text 1s;
}
/* 默认 小 大 小 默认 */
@keyframes text {0%{transform: translate(-50%,-50%) scale(1);}20%{transform: translate(-50%,-50%) scale(0.1);}40%{transform: translate(-50%,-50%) scale(1.5);}70%{transform: translate(-50%,-50%) scale(0.8);}100%{transform: translate(-50%,-50%) scale(1);}
}

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

基于Spring Boot的在线医疗咨询平台的设计与实现【附源码】

基于Spring Boot的在线医疗咨询平台的设计与实现 Design and implementation of the computer hardware mall based on Spring Boot Candidate&#xff1a; Supervisor&#xff1a; April 20th, 2024 学位论文原创性声明 本人郑重声明&#xff1a;所呈交的论文是本人在导师…

初中英语优秀作文分析-006How to Deal with the Exam Stress-如何应对考试压力

更多资源请关注纽扣编程微信公众号 记忆树 1 We students are very busy with schoolwork and in the face of many exams every school day. 翻译 我们学生忙于功课&#xff0c;每个上学日都面临许多考试。 简化记忆 考试 句子结构 We students 主语 我们学生&#xf…

Vite: 高阶特性 Pure ESM

概述 ESM 已经逐步得到各大浏览器厂商以及 Node.js 的原生支持&#xff0c;正在成为主流前端模块化方案。 而 Vite 本身就是借助浏览器原生的 ESM 解析能力( type“module” )实现了开发阶段的 no-bundle &#xff0c;即不用打包也可以构建 Web 应用。不过我们对于原生 ESM 的…

综合评价类模型——突变级数法

含义 首先&#xff1a;对评价目标进行多层次矛盾分解其次&#xff1a;利用突变理论和模糊数学相结合产生突变模糊隶属函数再次&#xff1a;由归一公式进行综合量化运算最终&#xff1a;归一为一个参数&#xff0c;即求出总的隶属函数&#xff0c;从而对评价目标进行排序分析特点…

成都市水资源公报(2000-2022年)

数据年限&#xff1a;2000-2022年&#xff0c;无2009年 数据格式&#xff1a;pdf、word、jpg 数据内容&#xff1a;降水量、地表水资源量、地下水资源量、水资源总量、蓄水状况、平原区浅层地下水动态、水资源情况分析、供水量、用水量、污水处理、洪涝干旱等

类似李跳跳的软件有什么,强烈推荐所有安卓手机安装!!!

今天阿星分享一款让安卓手机更顺滑的神器——智慧岛。你问我李跳跳&#xff1f;由于大家都知道的原因&#xff0c;那是个曾经让广告无处遁形的神兵利器&#xff0c;可惜现在它已经退休了。不过别担心&#xff0c;智慧岛接过了接力棒&#xff0c;继续为我们的安卓体验保驾护航。…

Raccon:更好防侧信道攻击的后量子签名方案

1. 引言 安全社区已经开发出了一些出色的加密算法&#xff0c;这些算法非常安全&#xff0c;但最终&#xff0c;所有的数据都会被存储在硅和金属中&#xff0c;而入侵者越来越多地会在那里放置监视器来破解密钥。 破解加密密钥通常涉及暴力破解方法或利用实施过程中的缺陷。然…

2029年AI服务器出货量将突破450万台,AI推理服务器即将爆发式增长

在2020年&#xff0c;新冠疫情与远程办公模式的兴起推动了所有类型服务器的出货量达到峰值&#xff0c;随后几年里&#xff0c;除了AI服务器之外的所有类别都回归到了正常水平。 根据Omdia的研究数据&#xff0c;AI服务器的出货量在2020年急剧上升&#xff0c;并且至今未显示出…

日志的介绍

知识铺垫&#xff1a;在我们日常开发中&#xff0c;其实日志是和我们息息相关的。但可能平常都没怎么注意到日志相关的知识点&#xff0c;也不怎么关注日志&#xff0c;然后&#xff0c;在生产环境中&#xff0c;日志是必不可少的存在&#xff0c;项目出现问题了都是通过日志来…

cesium 添加 Echarts 图层(空气质量点图)

cesium 添加 Echarts 图层(下面附有源码) 1、实现思路 1、在scene上面新增一个canvas画布 2、通坐标转换,将经纬度坐标转为屏幕坐标来实现 3、将ecarts 中每个series数组中元素都加 coordinateSystem: ‘cesiumEcharts’ 2、示例代码 <!DOCTYPE html> <html lan…

Excel 数据筛选难题解决

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

图形化用户界面-java头歌实训

图形化用户界面 import java.awt.*; import javax.swing.*; public class GraphicsTester extends JFrame { public GraphicsTester() { super("Graphics Demo"); setSize(480, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void paint…

服务器raid5坏盘-换盘-修复阵列过程

目录 背景原因分析解决步骤名词解释进入raid管理界面换回旧4号&#xff0c;进行import再次更换4号盘 总结 背景 服务器除尘之后文件服务器部分文件不能访问了,部分文件夹内容为空&#xff0c;起初以为是新配置的权限的问题&#xff0c;排查之后发现不仅仅是权限问题 jumpserv…

VTK学习日志:基于VTK9.3.0+Visual Studio c++实现DICOM影像MPR多平面重建+V R体绘制4个视图展示功能的实现(二)

前段时间对VTK9.3.0进行了编译&#xff0c;开发了MPRVR实现的demo,显示效果不是很理想&#xff0c;正好趁着周末有时间&#xff0c;再度对之前的程序进行优化和完善&#xff0c;先展示下效果&#xff1a; VTK实现MPRVR四视图 再次讲解下基于VTK的MPRVR实现的简单项目创建过程&a…

Linux安装Node-RED并实现后台运行及开机启动

首先确保系统中已近成功安装Node.js&#xff0c;并保证需要的合适版本&#xff1a; 关于node.js的安装可以参考我的另一篇博文:《AliyunOS安装Node.js》。 然后就可以使用npm工具安装Node-RED了&#xff0c;很简单使用如下命令&#xff1a; sudo npm install -g --unsafe-per…

MATLAB使用系统辨识工具箱建立PID水温的传递函数系数

概述 利用PID控制水温&#xff0c;由于实际在工程项目中&#xff0c;手动调节PID参数比较耗费时间&#xff0c;所以可以先利用MATLAB中的Simulink软件建立模型&#xff0c;先在仿真软件上调节大概的PID参数&#xff0c;再利用此PID参数为基础在实际的工程项目中手动调节PID参数…

这些并发编程技术你都知道吗?

与其碌碌无为&#xff0c;不如兴风作浪。 虽然不是所有的系统都需要很多的并发编程技术&#xff0c;但是掌握常见的高并发秘籍&#xff0c;便能让我们的系统快起来&#xff0c;面对访问量的剧增从容应对。 接下来&#xff0c;为我们一起来看看常见的高并发技术有哪些。总结起来…

SSH版本升级-openssh-9.7p1

SSH版本升级-openssh-9.7p1 1、查看当前版本2、安装openssl2.1、编译安装ssl 3、下载新版本SSH4、备份原有的SSH配置5、上传文件并解压6、卸载原有的openssh包7、编译安装openssh7.1、在解压后的目录&#xff0c;初始化openssh7.2、将文件拷回7.3、修改配置文件 最终实现&#…

DDD学习笔记五

模型引力场&#xff1a;聚合 强作用力体现&#xff1a; 某个领域模型是另一些模型存在的前提&#xff0c;没有前者&#xff0c;后者就失去了生存的意义。 一组领域模型之间存在关联的领域逻辑&#xff0c;任何时候都不能违反。 一组领域模型必须以一个完整的、一致的状态呈现给…

CSDN写文章时需要上、下标字号怎么输?

上标&#xff1a;​^^&#xff0c;符号中间加字 下标&#xff1a;~~&#xff0c;符号中间加字 前题是用MD编辑器&#xff0c;不然白搭&#xff1a; 我是感觉CSDN这个文本编辑比较拉&#xff0c;非常想吐槽。