分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

CSS动画transform、transition和animation的区别

发布时间:2023-09-06 02:26责任编辑:彭小芳关键词:CSS动画

CSS3属性中关于制作动画的三个属性:Transform,Transition,Animation。

1、transform:描述了元素的静态样式,本身不会呈现动画效果,可以对元素进行 旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。

div{  transform:scale(2);}

transition和animation两者都能实现动画效果

transform常常配合transition和animation使用

2、transition样式过渡,从一种效果逐渐改变为另一种效果

transition是一个合写属性

transition:transition-property transition-duration transition-timing-function transition-delay

从左到右分别是:css属性、过渡效果花费时间、速度曲线、过渡开始的延迟时间

div{ ???width:100px; ???height:100px; ???transition:transform 2s;}div:hover{ ???transform:rotate(180deg);}

transition通常和hover等事件配合使用,需要由事件来触发过渡

3、animation动画 由@keyframes来描述每一帧的样式

div{  animation:myAnimation 5s infinite}@keyframes myAnimation {  0%{left:0;transform:rotate(0);}  100%{left:200px;transform:rotate(180deg);}}

区别:

(1)transform仅描述元素的静态样式,常常配合transition和animation使用

(2)transition通常和hover等事件配合使用,animation是自发的,立即播放

(3)animation可设置循环次数

(4)animation可设置每一帧的样式和时间,transition只能设置头尾

(5)transition可与js配合使用,js设定要变化的样式,transition负责动画效果,如:

/*css:*/div{ ???width:100px; ???height:100px; ???transition:all 1s;}//jsdivEle.onclick = function(){ ???divEle.style.width = "200px"; ???divEle.style.height = "200px";}

CSS动画transform、transition和animation的区别

原文地址:https://www.cnblogs.com/lihuijuan/p/10126837.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved