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);
}
}
热门推荐
汪孟恭教你做网红款!咬一口就爱上的黄金肉圆
绩效考核体系优化与实践:构建、科学、公正的绩效评价机制
7部国产治愈系电影推荐:从《走走停停》到《岁月神偷》
如何在 Windows 11 中更改 DNS 服务器地址(4 种方法)
三甲医院专家详解中医减肥法:从茶饮到穴位埋线,科学减重全攻略
针灸经典书籍推荐
农文旅融合!西林魅力闪亮冰城
吃了火锅后喝酸奶有什么作用
这些名人获得成功的背后:持之以恒才是成功的基石
安徽大学计算机考研考情分析:2024年最新报考信息及历年录取分数
不吃海鲜还会得荨麻疹?皮肤科医生详解过敏原因与防治方法
如何降低甘油三酯?有效的生活方式和饮食建议是什么?
直播电脑配置踩雷?如何避免和解决?
英语词汇辨析:assume和presume的区别
张家界美食与景点全攻略:八大餐厅推荐及六大景点详解
化妆技巧:如何让眼睛看起来更大更有神
就业升学赶超“双一流”!世界名校名企为何钟爱这所大学的毕业生?
过敏性鼻炎鼻塞原因全解析
如何识别并处理未转曲的PDF文件?
菠萝里面变黑还能吃吗?菠萝变黑了怎么处理呢
内墙面砖怎么填缝?内墙面砖填缝步骤介绍
中金:消费还有多大空间?
电脑屏幕显示大小调整指南:5个实用解决方案
如何合理利用屏幕空间提升用户体验?响应设计让网页布局更灵活
庭院过门石一般用什么颜色?传统与现代的完美融合
45款最佳室内盆栽指南:为你的家注入生机与活力
朱元璋登基后,在政治与军事方面有哪些作为与成就?
Chrome浏览器的屏幕录制功能怎么启用
结节患者饮食指南:从食材到烹饪全方位解析
上海贵酒说好的1个亿,怎么没了?