CSS3过渡、变换与动画详解
创作时间:
作者:
@小白创作中心
CSS3过渡、变换与动画详解
引用
CSDN
1.
https://blog.csdn.net/qq_62224122/article/details/146199800
本文详细介绍了CSS3中的过渡、变换与动画技术,包括过渡效果、2D变换、动画定义与调用、3D维度和变换等核心概念。通过本文,读者可以系统地学习CSS3动画的相关知识,并掌握具体的实现方法。
过渡
过渡效果可以让元素以动画形式,平滑地完成状态变化。其基本语法如下:
transition : all 2s linear 0s;
参数解释:
- 第一个参数:参与过渡的属性,一般写
all
- 第二个参数:过渡完成的时间,单位是
s
- 第三个参数:缓冲描述(函数),如
linear
(匀速)、ease
(非匀速) - 第四个参数:延迟时间,单位也是
s
此外,还可以单独定义这四个单一属性:
transition-property
:参与过度属性transition-duration
:过渡时间transition-timing-function
:缓存描述transition-delay
:延迟时间
参与过渡的属性包括数值型的属性以及颜色,比如width
、height
、border-width
等。
2D变换
通过transform
属性实现变换,支持多种变换方式:
- 旋转:
transform:rotate(30deg)
- 缩放:
transform:scale(2)
- 斜切:
transform:skew(10deg,10deg)
- 移动:
transform:translate(100px,100px)
多个变形可以用空格隔开,例如:
transform:rotate(360deg) scale(1.5)
动画
定义动画
使用@keyframes
规则定义动画:
@-webkit-keyframes 动画名称 {
from{}
to{}
}
可以使用百分数表示动画状态,例如:
0% {
transform: translate(0, 0) scale(1) rotate(0);
}
100% {
transform: translate(0, 0) scale(0.8) rotate(30deg);
}
调用动画
使用animation
属性调用动画:
animation:donghua 1.5s linear 0s 3 alternate forwards;
参数解释:
- 第一个参数:要调用的名称
- 第二个参数:完成一次动画的时间
- 第三个参数:缓冲描述
- 第四个参数:延迟时间
- 第五个参数:动画的次数
- 第六个参数:自动补全反方向的动画
- 第七个参数:保持最后一帧的状态
3D维度
3D中的坐标系有三个维度:x表示正方向向右,y表示正方向向下,z表示垂直于屏幕(需设置景深才会有效)。
3D景深
通过perspective
属性设置景深,例如:
.container{
width: 324px;
height: 260px;
border: 2px solid green;
margin: 50px auto;
transform: rotateY(30deg);
transform-style: preserve-3d;
perspective: 1000px;
}
3D变换
3D移动
使用translate3D(x,y,z)
或单独设置translateX
、translateY
、translateZ
。
3D缩放
使用scale3D(x,y,z)
或单独设置scaleX
、scaleY
、scaleZ
。
3D旋转
使用rotate3D(x,y,z,angle)
或单独设置rotateX
、rotateY
、rotateZ
。
正方体示例
.container {
width: 300px;
height: 300px;
margin: 200px auto;
border: 3px solid #000;
position: relative;
transform-style: preserve-3d;
animation: identifier 10s;
}
.box {
position: absolute;
font-size: 100px;
line-height: 300px;
height: 300px;
width: 300px;
text-align: center;
color: white;
}
.box1 {
background-color: pink;
transform: translateZ(150px);
}
.box2 {
background-color: orange;
transform: translateZ(-150px);
}
.box3 {
background-color: skyblue;
transform: translateX(150px) rotateY(-90deg);
}
.box4 {
background-color: yellowgreen;
transform: translateX(-150px) rotateY(-90deg);
}
.box5 {
background-color: gold;
transform: translateY(150px) rotateX(90deg);
}
.box6 {
background-color: green;
transform: translateY(-150px) rotateX(90deg);
}
@keyframes identifier {
0% {
transform: rotateX(0) rotateY(0);
}
25% {
transform: rotateX(90deg) rotateY(90deg);
}
50% {
transform: rotateX(180deg) rotateY(180deg);
}
75% {
transform: rotateX(270deg) rotateY(270deg);
}
100% {
transform: rotateX(360deg) rotateY(360deg);
}
}
热门推荐
如何整合各大平台API
塔图姆脚踝扭伤陷伤病疑云 绿军季后赛卫冕再添变数
电脑电源功率怎么选 这5点你需要了解
药师心声丨升白针揭秘:肿瘤治疗中的白细胞守护者
AI租房系统:引领住房租赁市场智能化变革
【CFD教程】水中翼型空化现象模拟
咖喱土豆鸡翅:一道四季皆宜的美味佳肴
干锅鸡翅虾:家常版麻辣鲜香秘笈
首份《家庭赡养指导令》:上海宝山法院创新解决赡养纠纷
使命召唤手游kilo141配件怎么选择最强配件推荐
纯种泰迪犬的价格与鉴别指南
招投标程序如何确保公开透明公正有效:有效手段有哪些
慢性肾衰竭怎么办
蛋白质含量高的食物排名表(含57种常见食物)
Excel单元格内插入图片(VBA创建函数,根据图片名称批量插入)
需求评审中如何处理预算调整
护士必修课:八种敷贴固定技巧详解
生态鸡的养殖经验总结
如何判断中国黄金的品质标准?品质标准对价值有何影响?
青椒炒鸡胸肉
95度酒精能否有效消毒?全面解析酒精浓度与消毒效果
女儿有赡养父母的义务吗?法律规定与实务解读
道德与伦理义务论:差异、例子和应用
小朋友牙齒唔齊怎麼辦?要 箍牙嗎?家長必讀的4大牙齒不齊成因及避免方法
南充:猪肉“变”牛肉卖,获刑并处罚金
健身小白必看!轻松掌握健身三大项的秘诀
全国首个!自主研发的AI泌尿医生在广西医科大学第一附属医院正式上岗
如何在PPT中制作大纲?如何快速构建清晰结构?
繁荣的养老市场, 一套“行走的神器”爆红
如何避免医疗事故及处理方法