css动画改变高度有过渡效果,css3-形变、过渡、动画

一、2D形变

平移

transform:translate(x,y)

相对当前位置,向左移动x像素,像下移动y像素

transform:translateX(num)

相对当前位置,向左移动num像素

transform:translateY(num)

相对当前位置,向下移动num像素

缩放

transform:scale(x,y)

scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数

transform:scaleX( num )

改变元素的宽度

transform:scaleY( num )

改变元素的高度

旋转

transform:rotate( 角度 );

参数是一个角度,表示旋转多少度

倾斜

transform:skew(角度x,角度y)

沿着x轴旋转多少度,沿着y轴转多少度

transform:skewX(角度x)

沿着x轴旋转多少度

transform:skewY(角度y)

沿着y轴旋转多少度

二、3D形变

平移

transform:translate3d( x , y , z );

定义三个方向上的平移

transform:translateZ( z );

定义Z方向的平移(单用看不出效果)

缩放

transform: scale3d( x , y , z);

定义3个方向上的缩放,同时可以分别实现3个方向的分别设置

旋转

rotate3d( x , y , z , angle )

x,表示旋转轴X坐标方向的矢量。

y,表示旋转轴Y坐标方向的矢量。

z,表示旋转轴Z坐标方向的矢量。

angle,表示旋转角度。正的角度值表示顺时针旋转,负值表示逆时针旋转。

三、过渡

transition属性

通过transition,我们可以在不使用flash的情况下,让元素从一种样式变化成另一种样式

body{

position: relative;

}

#box{

height: 100px;

width: 100px;

background-color: skyblue;

transition: margin-left 3s;

}

// var box = document.querySelector("box");

box.onclick = function(){

this.style.marginLeft = "600px";

}

运行效果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

transition实现多个过渡

body{

position: relative;

}

#box{

/*如果动画的元素是margin,不能设置auto*/

height: 100px;

width: 100px;

background-color: pink;

position: absolute;

top: 20px;

transition: margin-left 3s,background-color 3s,border-radius 3s,top 3s;

}

//var box = document.querySelector("box");

box.onclick = function(){

this.style.marginLeft = "600px";

this.style.backgroundColor = "red";

this.style.borderRadius = "50px";

this.style.top = "100px";

}

运行效果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

利用伪元素实现transition过度

body{

position: relative;

}

#box{

/*如果动画的元素是margin,不能设置auto*/

height: 100px;

width: 100px;

background-color: pink;

position: absolute;

top: 20px;

transition: margin-left 3s,background-color 3s,border-radius 3s,top 3s;

}

#box:hover{

background-color: purple;

border-radius: 50px;

top: 50px;

}

运行结果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

利用transition实现3D动画过度

body{

position: relative;

}

#box{

/*如果动画的元素是margin,不能设置auto*/

height: 300px;

width: 300px;

margin: 15px 0 0 15px;

position: relative;

background: url(img/bg.jpg) round;

/*将来写有关动画相关的代码,要写兼容*/

/*transform-style: preserve-3d;*/

/*设置镜头距离*/

perspective: 20000px;

}

div img{

width: 130px;

height: 200px;

position: absolute;

top: 50px;

left: 85px;

transform-style: preserve-3d;

transform: rotateZ(180deg) rotateX(0) rotateY(0deg);

transition: all 3s;

}

div img:hover{

transform: rotateZ(0) rotateX(360deg) rotateY(180deg);

}

![](img/shu.jpg)

运行结果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

css3动画

如果用@keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

指定至少这两个CSS3的动画属性绑定向一个选择器:

规定动画的名称

规定动画的时长

from-to

#box{

height: 30px;

width: 30px;

background-color: blue;

animation: rect 3s linear 0.5s alternate 3 ;

}

@keyframes rect{

from{

transform: translate(0,0);

background-color: blue;

}

to{

transform: translate(200px,200px);

background-color: red;

}

}

运行效果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

百分比

#box{

height: 50px;

width: 50px;

background-color: blue;

animation: rect 3s linear infinite alternate;

}

@keyframes rect{

0%{

transform: translate(0,0);

background-color: blue;

}

25%{

transform: translate(300px,0px);

background-color: red;

border-radius: 50%;

}

50%{

transform: translate(300px,300px);

background-color: pink;

border-radius: 0;

}

75%{

transform: translate(0px,300px);

background-color: orange;

border-radius: 50%;

}

100%{

transform: translate(0px,0px);

background-color: yellow;

}

}

运行效果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

小案例(动画实现一个简易大风车)

.circle{

height: 200px;

width: 200px;

margin: 50px auto;

background-color: pink;

border-radius: 50%;

position: relative;

animation: rect 2s linear infinite;

}

.f1{

height: 80px;

width: 50px;

background-color: blue;

position: absolute;

left: 100px;

top: 20px;

border-top-right-radius: 100%;

}

.f2{

width: 80px;

height: 50px;

background-color: red;

position: absolute;

left: 100px;

top: 100px;

border-bottom-right-radius: 100%;

}

.f3{

height: 80px;

width: 50px;

background-color: orange;

position: absolute;

left: 50px;

top: 100px;

border-bottom-left-radius: 100%;

}

.f4{

height: 50px;

width: 80px;

background-color: green;

position: absolute;

left: 20px;

top: 50px;

border-top-left-radius: 100%;

}

@keyframes rect{

from{

transform: rotate(0);

}

to{

transform: rotate(360deg);

}

}

运行结果

b94a67aa9641?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GIF.gif

喜欢就点赞

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

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

相关文章

Web前端期末大作业--零食商城网页设计(HTML+CSS+JavaScript+)实现

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?网页要求的总数量太多?HTML网页作业无从下手?没有合适的模板?等等一系列问题。你想要解决的问题,在专栏👇🏻👇&…

css3 z-index,z-index的工作原理

可能并不是那么显而易见,但是HTML文档中的元素却是存在于三个维度之中。除了大家熟知的平面画布中的x轴和y轴,还有控制第三维度的z轴。像 margin , float , offset 这些属性,控制着元素在x轴和y轴上的表现形式一样。 z-index 这个属性控制着元…

【CSDN】-京东云部署java项目及性能测试

前言: 最近因为华为云服务器购买过期了,其实本来自己的个人项目部署或不部署到服务器都是可以的、但最近刚好看见京东云服务器在做活动、就想着搞一搞。刚好官方送了我一张代金券。那我就直接用起来吧。 个人需求 因为个人需求、我选择了一个的是2核/内存…

SpringBoot vue图片上传不能立即回显问题解决

最开始项目是放在eclipse之中的、springboot项目默认把静态的文件加载到classpath的目录下的。而此时我们上传的图片并没有传入启动了的项目当中去、所以明明路径是对的、却访问不了、在项目重新启动之后项目会打成新的jar包、这个时候上一次上传的图片才会正常显示。 解决方法…

IDEA中运行springboot+vue项目设置terminal路径

File->settings->Tools->terminal 设置后刷新IDEA即可生效。

win8服务器无法安装win7系统安装,win8怎么安装win7 win8改win7教程详解【图文】

继win7系统后,微软又推出了win8、win8.1以及win10系统,每个系统在原来的版本上都有了更改和创新。大家都知道,人是一种容易习惯的动物。很多人在使用了win7之后,更换到win8系统会很不习惯、觉得win8无法与win7比拟,这种…

【PAG组件】-从解码渲染层面对比 PAG 与 lottie

从解码渲染层面对比 PAG 与 lottie 最近由于业务需求,需要调研一下业界的知名动画渲染框架。经过一些时间的调研与探索,我将目光聚焦在两款不错的动画框架上。一款是知名的 lottie,一款是腾讯出品的 PAG。 lottie 相信大部分端上的研发都会…

电脑预览,电脑怎么预览psd格式?

经常使用PS的朋友们都知道Photoshop文档的默认格式是psd格式,可是在电脑上可能不能像jpg图片一样显示缩略图预览。遇到这种情况我们该怎么办?要是电脑上并没有安装PS软件又该怎么预览?下面我们就一起来看看哪些解决方法。步骤如下:方法一:有安装PS,使用…

一个二线城市程序员的一年【坐标成都】

前言: 好快呀!不知不觉一年又快过去了。总的来说还算丰收的一年吧。从毕业之后就一直在成都工作、对于最开始其实并没有特别清晰的职业规划。我还记得面试时面试官经常问到一句话是什么。你为啥选择我们公司?我记得当时回答好像是就说工作岗位…

Web前端期末大作业--汽车主题网页设计002(HTML+CSS+JavaScript+)实现

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?网页要求的总数量太多?HTML网页作业无从下手?没有合适的模板?等等一系列问题。你想要解决的问题,在专栏👇🏻👇&…

速达财务3000服务器账套维护显示,速达3000财务软件使用常见问题

一.安装好速达3000XP网络版客户端后,运行客户端时出现一闪而过?答:如客户端一闪而过,请将速达3000XP服务器的系统日志清空,然后将服务器重启,如不行,需将数据做好备份,然后将服务器端的INTERBASE服务器卸载,重新安装.二.速达3000XP,在创建帐套过程中设置了"帐务系统与进销…

基于javaSpringboot+mybatis+layui的装修验收管理系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系和送书🍅 前言&#xff1a…

基于前端HTML+CSS+JS实现2022城市新年贺卡特效

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?网页要求的总数量太多?HTML网页作业无从下手?没有合适的模板?等等一系列问题。你想要解决的问题,在专栏👇🏻👇&…

精心整理的10套最美Web前端新年特效---提前祝大家新年快乐(文末送书)

亲爱的小伙伴们,2022年春节就快到了!~ 在这里祝各位程序员朋友2022年身体健康,代码没有bug,不用996、远离ICU。 今天给大家精心整理了10套最美前端新年特效!提前祝大家新年快乐呀!!!! 话不多说、…

基于纯前端CSS3实现倾角瀑布流照片效果显示

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末免费获取源码🍅 临近期末, 你还在为HTM…

eclipse:web.xml<el-ignored>标签报错解决方法

问题:今天在整理eclipse项目的时候web.xml报错 解决方法:在头文件加入 http://www.springmodules.org/schema/cache/springmodules-cache.xsd 即可解决

基于JavaSpringMVC+Mybatis+Jquery高校毕业设计管理系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 前言: 随着…

RSA加密:Web前端登录账户密码加密传输

一般在做系统时候对安全性要求比较高,现在通常选择https协议来进行数据传输。很多情况下一般的javaweb网站,如果安全要求不是很高的话,用https协议就可以了。在这种情况下,密码的明文传输显然是不合适的,因为请求如果在…

IDEA编译运行Springboot+vue项目卡死,一直building和copying resources

是因为我把node_modules也放在了resource目录下、编译的时候target文件目录过大或一直递归循环、导致卡死一直在copying resources当中,在IDEA中设置一下忽略node_modules文件夹即可。

基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现

🍅 作者简介:CSDN特邀作者✌、java领域优质创作者💪 🍅关注公众号【java李杨勇】 简历模板、学习资料、面试题库等都给你 🍅文末获取源码联系🍅 一、前言介绍: 随着社会的快速发展,…