Web移动端-part02(3D效果+动画)

一、空间转换(3D)

1、空间位移

transform:translate3d(x,y,z);

  • 左手手心朝下握拳,大拇指方向为x轴正值方向,往下为y轴正值,往自己的方向为z轴正值
  • 记得写3d否则不生效

透视

  • 近大远小,近实远虚,如果想要看到Z轴,需要添加透视,添加给父元素
  • 不能呈现立体图形,transform-style:perserve-3d可以让元素处于真正的3d空间

perspective: 800-1200px;

2、空间旋转

transform:rotateX();//正值从下往上,负值从上往下
transform:rotateY();//正值从左往右,负值从右往左
transform:rotateZ();//正值顺时针旋转,负值逆时针旋转

综合写法:用来设置自定义旋转轴的位置及旋转的角度

rotate3d(x,y,z,角度度数)//x,y,z取0-1

3、立体呈现

  • 使元素处于真正的3d空间
  • 默认值flat,表示子元素处于2D平面内呈现
transform-style:preserve-3d;

呈现立体图形步骤:

  1. 给父元素添加transform-style:preserve-3d
  2. 按需求设置子盒子的位置

4、空间缩放

transform:scaleX(倍数);
transform:scaleY(倍数);
transform:scaleZ(倍数);
transform:scale3d(x,y,z);

二、动画(重点)

  • 动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面
  • 构成动画的最小单元: 帧或动画帧

1、补间动画

丝滑

实现步骤:

  1. 定义动画
@keyframes 动画名称{from{}to {}
}
或者
@keyframes 动画名称{0%{}10%{}15%{}100%{}
}

注意:动画可以写多个,多个状态通过百分比进行描述,每个状态都要不一样,相同的只会执行一次

  1. 使用动画
animation:动画名称 动画花费时长;

动画属性:

animation:动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MxWu0yIa-1664979615776)(C:\Users\samsung\AppData\Roaming\Typora\typora-user-images\1664955844091.png)]

注意点:

  • 动画结束状态不能和动画的循环次数以及动画的方向同时使用
  • 动画名称和动画时长必须赋值
  • 取值不分先后顺序
  • 如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间

2 、逐帧动画

开发中,一般配合精灵图实现动画效果。(卡顿效果)

animation-timing-function:steps(N);
将动画等分成n份
css中  animation:动画名 时间 steps(N);即可

侠客案例

图片为精灵图,使用逐帧动画制作

<!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>.box{width: 140px;height: 140px;background:url(./images/bg.png) no-repeat;animation: run 0.5s steps(12) infinite,move 4s infinite ;}/* 定义动画 */@keyframes run{0%{background-position: 0 0;}100%{background-position: -1680px 0;}}@keyframes move{0%{transform: translate(0,0);}50%{transform: translate(1200px,0)  ;}51%{transform: translate(1200px,0) rotateY(180deg);}99%{transform: translate(0,0) rotateY(180deg)} 100%{transform: translate(0,0);}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

效果为来回跑动的剑客

无缝轮播图案例

<!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>*{margin: 0;padding: 0;}.box{width: 200px;height: 150px;border: 10px solid black;margin: 100px auto;overflow: hidden;}.banner{width: 1600px;height: 150px;animation: move 8s infinite linear ;}.banner img{float: left;width: 200px;height: 150px;}.box:hover .banner{cursor: pointer;animation-play-state: paused;}@keyframes move{0%{transform: translate(0,0);}100%{transform: translate(-1400px,0);}     }</style>
</head>
<body><div class="box"><div class="banner"><img src="./images/1.jpg" alt=""><img src="./images/2.jpg" alt=""><img src="./images/3.jpg" alt=""><img src="./images/4.jpg" alt=""><img src="./images/5.jpg" alt=""><img src="./images/6.jpg" alt=""><img src="./images/7.jpg" alt=""><!-- 解决留白问题 添加第一个图片并且.banner的宽度扩大一个,但是移动的距离不变。原理当最后一个轮播图(第7个)轮播完后会出现留白,此时添加第一个图,接着轮播最后一个图(和第一个图一样),此时第一个图进行下一轮轮播时,是直接充满在展示框内的,形成视觉差,让人觉得重复轮播,形成闭环 --><img src="./images/1.jpg" alt=""></div></div>
</body>
</html>
  • 鼠标悬停暂停,给加了动画的元素加
.box:hover .banner{cursor: pointer;animation-play-state: paused;}

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

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

相关文章

Facebook广告效果差,转化低?跑赢同行的一手资源维睿互动奉上

每次上新都像参加一场没有出题范围的考试&#xff1f;想要提高新品广告投资回报率&#xff08;ROAS&#xff09;&#xff0c;却不知道哪些广告操作才是提速“催化剂”&#xff1f; 很多时候跑facebook广告&#xff0c;但是出来的效果比较差&#xff0c;ctr很低&#xff0c;cpm很…

【Three.js】手把手教你在三维场景中实现人物行走动画效果

three.js的官方例程里面有个人物行走的案例&#xff0c;链接如下&#xff1a; three.js官方案例-人物行走 这里简单剖析下人物行走的原理&#xff1a; &#xff08;1&#xff09; 首先需要有个动画素材。gltf是可以集成动画的&#xff0c;像行人行走的动画&#xff0c;一般…

【Unity3D插件】Alembic插件分享《abc动画文件导入Unity》

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群&#xff1a;1040082875 文章目录 一、前言二、参考网站及下载三、正文abc文件导入abc导入Unity之后的格式AlembicStreamPlayer组件AlembicExporter组件 一、前言 今天分享一下Alembic插件的使用教程&…

Unity角色动画之面部动画——SALSA插件

目录 概述组件LipSyncEmoteREyes 2D面部动画搭建2D模型添加SALSA 2D组件添加RandomEyes2D组件运行效果 3D面部动画添加SALSA 3D组件添加RandomEyes3D组件运行效果 概述 SALSA&#xff08;简单自动唇形同步近似&#xff09;是一种实时系统&#xff0c;用于从音频输入创建唇形同…

家里两个孩子,你们会一个跟爸姓,一个跟妈姓吗?

生老大的时候&#xff0c;刚开始不知道男女&#xff0c;就取了好几个名字&#xff0c;四个月四维查出男孩&#xff0c;就确定了一个&#xff0c;把剩下的名字分给以后的弟弟或妹妹&#xff01;后来意外二胎&#xff0c;没有查男女&#xff0c;老公就说要不二胎跟我姓吧&#xf…

Mother and child 妈妈与孩子

我拿起那条链子。她用双手接过它&#xff0c;向前探了探身&#xff0c;在我的脖子后把简易的项链钩系好。然后她向后退了几步&#xff0c;好像在看看是否合适。我低下头看着闪闪发亮的玻璃珠和已失去光泽的金色链子&#xff0c;然后抬起头望着她。我很认真地轻声说道&#xff1…

怎样要一个儿子和女儿

[转] 女人的最佳生育年限 及怎样要一个儿子和女儿 2011.11.30 阅读(4) 返回日志列表 转载(10.62万)分享评论复制地址更多 教你如何生一个漂亮宝宝&#xff0c;怕以后找不到&#xff0c;先收藏了1.教你如何生一个漂亮宝宝 2.男人的最佳生育年限 及怎样要一个儿子 3.受用一生的维…

Surrogate mother是代孕妈妈,那么,Surrogate parent呢?

文 / 王不留&#xff08;微信公众号&#xff1a;王不留&#xff09; 上午有位同学找我探讨了一个问题。 2021年3月20号刊《经济学人》有一篇文章《Panic Womb》&#xff08;恐慌的子宫&#xff09;。引言中有一段话“Conservatives fret that surrogate parents may be gay or …

Android开发之向桌面添加快捷方式

Android开发之向桌面添加快捷方式 对于一个希望拥有更多用户的应用来说&#xff0c;用户桌面可以说是所有软件的必争之地&#xff0c;如果用户在手机桌面上建立了该软件的快捷方式&#xff0c;用户将会更频繁地使用该软件。因此&#xff0c;所有 Android程序都应该允许用户把软…

如何为Android App 添加快捷方式

文章目录 概述效果好处 添加方式静态添加动态添加 概述 效果 好处 可以方便用户直接在桌面跳到目标页面可以让你的App显得更加专业(不过切忌添加过多&#xff0c;1-3个就够了) 添加方式 静态添加 在资源文件中添加 xml 目录&#xff0c;并在里面创建 shortcuts.xml 文件 …

Android之添加固定图标到桌面

我的QQ群 1 需求 Android之添加固定图标到桌面 2 部分实现 在AndroidManifest.xml里面添加如下权限 <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.android.launcher.perm…

Android中程序向桌面和Launcher添加快捷方式【安卓进化三十二】

最近感觉这个添加快捷方式挺有趣的&#xff0c;就查资料自己写了个demo---简单的例子&#xff0c;这个例子就是有两个按钮&#xff0c;点击“将此程序添加到快捷方式”&#xff0c;则手机桌面增加一个快捷方式&#xff0c;同时launcher中也多了一个快捷方式&#xff0c;点击退出…

Android 在Launcher桌面添加应用快捷图标(适用于Android 7.0(API24) 及以下)

Launcher为了应用程序能够定制自己的快捷图标&#xff0c;就注册了一个 BroadcastReceiver 专门接收其他应用程序发来的快捷图标定制信息。所以只需要根据该BroadcastReceiver构造出相对应的Intent并装入我们的定制信息&#xff0c;最后调用 sendBroadcast 方法就可以创建一个快…

Android 桌面工具,安卓怎样添加桌面工具

桌面工具(Widget)是Android系统的一大特色&#xff0c;通过桌面工具可以快速得到所需的信息&#xff0c;不必打开程序即可了解最新的内容。Android系统自带了一些常用的桌面工具&#xff0c;其他一些经过定制的系统也带有具有特色的桌面工具&#xff0c;同时&#xff0c;有很多…

【答辩问题】计算机专业本科毕业设计答辩技巧

下面是总结的一些答辩期间的问题&#xff08;结合论文中出现过的整理&#xff09; 1、MVC设计模式是指什么&#xff0c;其优缺点&#xff0c;怎样用到在你的程序里 2、SSM/SSH框架是指什么&#xff0c;其优缺点&#xff0c;怎样用到在你的程序里 3、前端用到了什么技术&…

基于SSM的毕业论文答辩系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

计算机专业毕业答辩问代码吗,计算机专业毕业论文答辩技巧

在做计算机毕业设计的整个过程中&#xff0c;一般有三个答辩&#xff0c;即开始答辩、中期答辩和最终答辩。有些学校简化为两个&#xff0c;即开题答辩和期末答辩。还有的学校将直接保留了最终答辩&#xff0c;省略了开始答辩和中期答辩。 当然不管你要参加几次答辩&#xff0c…

计算机专业毕业设计论文答辩PPT模板,10套计算机毕业设计答辩PPT模板

计算机专业毕业设计论文答辩PPT模板,10套计算机毕业设计答辩PPT模板 完整PPT模板包下载地址&#xff1a;计算机专业毕业设计论文答辩PPT模板 PPT模板预览 完整PPT模板包下载地址&#xff1a;10套计算机毕业设计答辩PPT模板

【答辩问题】计算机专业本科毕业设计答辩自述

各位老师,你们好!我叫XXX,来自计算机XX,我的论文题目是《在线考试系统》,论文是在XXX老师的指点下完成的,在这里我向X老师表示深深的谢意,向参加我的论文答辩各位老师表示衷心的感谢,并对我三年来的各位授课老师表示由衷的敬意。下面我将本论文设计的目的和主要内容向各位老师作…

outlook服务器邮件满了怎么办,Outlook邮箱不能接收邮件提示邮件箱已满的解决方法...

Outlook是一款很多用户都会用来收发邮件的邮箱工具&#xff0c;但是有时候邮件多了&#xff0c;可能会遇到不能接收邮件并提示邮箱已满的情况&#xff0c;该如何解决呢&#xff0c;为此这就给大家带来Outlook邮箱不能接收邮件提示邮件箱已满的解决方法吧。 存储的电子邮件数量有…